123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537 |
- <template>
- <div id="front" style="width: 100%; height: 100%">
- <dv-loading v-if="loading">Loading...</dv-loading>
- <div v-else class="host-body bg">
- <div class="d-flex jc-center">
- <dv-decoration-10 style="width:33.3%;height:.0625rem;" />
- <div class="d-flex jc-center">
- <dv-decoration-8 :color="['#568aea', '#000000']" style="width:2.5rem;height:.625rem;" />
- <div class="title">
- <span class="title-text">BCC {{ $t('生产运行总览') }}</span>
- <dv-decoration-6
- class="title-bototm"
- :reverse="true"
- :color="['#50e3c2', '#67a1e5']"
- style="width:3.125rem;height:.1rem;"
- />
- </div>
- <dv-decoration-8
- :reverse="true"
- :color="['#568aea', '#000000']"
- style="width:2.5rem;height:.625rem;"
- />
- </div>
- <dv-decoration-10 style="width:33.3%;height:.0625rem; transform: rotateY(180deg);" />
- </div>
- <!-- 第二行 -->
- <div class="d-flex jc-between px-2">
- <div class="d-flex" style="width: 40%">
- <div
- class="react-right ml-4"
- style="width: 3.25rem; text-align: left;background-color: #0f1325;"
- @click="changeDashboard(1)"
- >
- <span class="react-before"></span>
- <span class="text"></span>
- </div>
- <div class="react-right ml-3" style="background-color: #0f1325;" @click="changeDashboard(2)">
- <span class="text colorBlue"></span>
- </div>
- <div class="react-right ml-3" style="background-color: #0f1325;" @click="openNewWindow">
- <span class="text colorBlue"></span>
- </div>
- <!--<div style="margin-top: -30px">
- <iframe src="./index" frameborder="0" width="100%" height="700px"></iframe>
- </div>-->
- </div>
- <div style="width: 40%" class="d-flex">
- <div class="react-left bg-color-blue mr-3">
- <span class="text fw-b">{{ $t('北京时间') }}:</span>
- </div>
- <div
- class="react-left mr-4"
- style="width: 6.25rem; background-color: #0f1325; text-align: right;"
- >
- <span class="react-after"></span>
- <span class="text">{{dateYear}} {{dateWeek}} {{dateDay}}</span>
- </div>
- </div>
- </div>
- <div class="body-box" v-if="dashboard === 1">
- <div class="three-content-box">
- <div style="display: flex;">
- <div style="width:1920px;display: flex;">
- <div>
- <material-balance />
- </div>
- <div>
- <chart-right/>
- </div>
- </div>
- <div class="right" style="1270px">
- <steam-balance />
- </div>
- </div>
- </div>
- <div class="three-bototm-box">
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <nap-tank />
- <!--<bottom-left />-->
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <ethylene-tank />
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <acrylic-tank />
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <product-tank />
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <!-- <product-tank /> -->
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <!-- <product-tank /> -->
- </dv-border-box-12>
- <dv-border-box-12 style="width: 438px;height: 260px;">
- <!-- <product-tank /> -->
- </dv-border-box-12>
- </div>
- </div>
- </div>
- <div class="body-box" v-if="dashboard === 2">
- <!-- 第三行数据 -->
- <div>
- <front-two />
- </div>
- </div>
- <div class="body-box" v-if="dashboard === 3">
- <!-- 第三行数据 -->
- <div class="frist-content-box">
- <div>
- <dv-border-box-12>
- <center-right2 />
- </dv-border-box-12>
- </div>
- <div>
- <dv-border-box-12>
- <center-left2 />
- </dv-border-box-12>
- </div>
- <!-- 中间 -->
- <div>
- <center-left1 />
- </div>
- <div>
- <dv-border-box-13>
- <center-right1 />
- </dv-border-box-13>
- </div>
- </div>
- <!-- 第四行数据 -->
- <div class="bototm-box">
- <dv-border-box-13>
- <bottom-left />
- </dv-border-box-13>
- <dv-border-box-12>
- <bottom-right />
- </dv-border-box-12>
- </div>
- </div>
- </div>
- </template>
- <script>
- import centerLeft1 from "@/views/front/centerLeft1";
- import centerLeft2 from "@/views/front/centerLeft2";
- import centerRight1 from "@/views/front/centerRight1";
- import centerRight2 from "@/views/front/centerRight2";
- import center from "@/views/front/center";
- import bottomLeft from "@/views/front/bottomLeft";
- import bottomRight from "@/views/front/bottomRight";
- import frontTwo from "@/views/front/frontTwo";
- import materialBalance from "@/views/front/materialBalance";
- import steamBalance from "@/views/front/steamBalance";
- import chartRight from "@/views/front/ChartRight";
- import napTank from "@/views/front/napTank";
- import ethyleneTank from "@/views/front/ethyleneTank";
- import acrylicTank from "@/views/front/acrylicTank";
- import productTank from "@/views/front/productTank";
- import dayjs from "dayjs";
- import '@/common/flexible.js';
- import dataV from '@jiaminghi/data-view';
- export default {
- data() {
- return {
- loading: true,
- dashboard: 1,
- dateDay: null,
- dateYear: null,
- dateWeek: null,
- weekday: [this.$t('周日'),this.$t('周一'),this.$t('周二'),this.$t('周三'),this.$t('周四'),this.$t('周五'),this.$t('周六')],
- timer:null
- };
- },
- components: {
- centerLeft1,
- centerLeft2,
- centerRight1,
- centerRight2,
- center,
- bottomLeft,
- bottomRight,
- frontTwo,
- materialBalance,
- steamBalance,
- chartRight,
- napTank,
- ethyleneTank,
- acrylicTank,
- productTank
- },
- mounted() {
- this.cancelLoading();
- this.timer = setInterval(()=>{
- const date= dayjs(new Date());
- this.dateDay = date.format('HH:mm:ss');
- this.dateYear = date.format('YYYY年MM月DD日');
- this.dateWeek = date.format(this.weekday[date.day()]);
- },1000);
- },
- beforeDestroy(){
- if(this.timer){
- clearInterval(this.timer);
- }
- },
- methods: {
- cancelLoading() {
- setTimeout(() => {
- this.loading = false;
- }, 500);
- },
- changeDashboard(val) {
- if (val === 1) {
- this.dashboard = 1
- }else if (val === 2) {
- this.dashboard = 2
- }else if (val === 3) {
- this.dashboard = 3
- }
- },
- openNewWindow() {
- window.open('index.html#/bccHome?redirect=%2Findex');//path是文件的全路径地址cpms/index.html#/login?redirect=%2Findex
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- </style>
- <!--
- <template>
- <div id="elec-index" ref="appRef">
- <dv-loading v-if="loading">Loading...</dv-loading>
- <div v-else class="host-body">
- <div class="d-flex jc-center">
- <dv-decoration-10 style="width:33.3%;height:.0625rem;" />
- <div class="d-flex jc-center">
- <dv-decoration-8 :color="['#568aea', '#000000']" style="width:2.5rem;height:.625rem;" />
- <div class="title">
- <span class="title-text">Electricity Power Plant Monitoring</span>
- <dv-decoration-6
- class="title-bototm"
- :reverse="true"
- :color="['#50e3c2', '#67a1e5']"
- style="width:3.125rem;height:.1rem;"
- />
- </div>
- <dv-decoration-8
- :reverse="true"
- :color="['#568aea', '#000000']"
- style="width:2.5rem;height:.625rem;"
- />
- </div>
- <dv-decoration-10 style="width:33.3%;height:.0625rem; transform: rotateY(180deg);" />
- </div>
- <!– 第二行 –>
- <div class="d-flex jc-between px-2">
- <div class="d-flex" style="width: 40%">
- <div
- class="react-right ml-4"
- style="width: 6.25rem; text-align: left;background-color: #0f1325;"
- >
- <span class="react-before"></span>
- <span class="text">数据分析1</span>
- </div>
- <div class="react-right ml-3" style="background-color: #0f1325;">
- <span class="text colorBlue">数据分析2</span>
- </div>
- </div>
- <div style="width: 40%" class="d-flex">
- <div class="react-left bg-color-blue mr-3">
- <span class="text fw-b">vue-big-screen</span>
- </div>
- <div
- class="react-left mr-4"
- style="width: 6.25rem; background-color: #0f1325; text-align: right;"
- >
- <span class="react-after"></span>
- <span class="text">{{dateYear}} {{dateWeek}} {{dateDay}}</span>
- </div>
- </div>
- </div>
- <div class="body-box">
- <!– 第三行数据 –>
- <div class="content-box">
- <div>
- <dv-border-box-12>
- <centerLeft1 />
- </dv-border-box-12>
- </div>
- <div>
- <dv-border-box-12>
- <centerLeft2 />
- </dv-border-box-12>
- </div>
- <!– 中间 –>
- <div>
- <center />
- </div>
- <!– 中间 –>
- <div>
- <centerRight2 />
- </div>
- <div>
- <dv-border-box-13>
- <centerRight1 />
- </dv-border-box-13>
- </div>
- </div>
- <!– 第四行数据 –>
- <div class="bototm-box">
- <dv-border-box-13>
- <bottomLeft />
- </dv-border-box-13>
- <dv-border-box-12>
- <bottomRight />
- </dv-border-box-12>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- import centerLeft1 from "./centerLeft1";
- import centerLeft2 from "./centerLeft2";
- import centerRight1 from "./centerRight1";
- import centerRight2 from "./centerRight2";
- import center from "./center";
- import bottomLeft from "./bottomLeft";
- import bottomRight from "./bottomRight";
- import '@/assets/styles/index.scss' // global css
- import '@/common/flexible.js';
- import dayjs from "dayjs";
- export default {
- data() {
- return {
- loading: true,
- dashboard: 1,
- dateDay: null,
- dateYear: null,
- dateWeek: null,
- weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
- timer:null
- };
- },
- components: {
- centerLeft1,
- centerLeft2,
- centerRight1,
- centerRight2,
- center,
- bottomLeft,
- bottomRight
- },
- mounted() {
- this.timer = setInterval(()=>{
- const date= dayjs(new Date());
- this.dateDay = date.format('HH:mm:ss');
- this.dateYear = date.format('YYYY年MM月DD日');
- this.dateWeek = date.format(this.weekday[date.day()]);
- },1000),
- this.setScale();
- window.addEventListener("resize", this.debounce(this.setScale, 100));
- // * 适配处理
- this.cancelLoading();
- },
- methods: {
- cancelLoading() {
- setTimeout(() => {
- this.loading = false;
- }, 500);
- },
- getScale() {
- let { width, height } = this;
- let wh = window.innerHeight / height;
- let ww = window.innerWidth / width;
- console.log(ww < wh ? ww : wh);
- return ww < wh ? ww : wh;
- },
- setScale() {
- if(window.innerHeight ==1080){
- this.height = 1080
- }else{
- this.height = 937
- }
- this.scale = this.getScale();
- if (this.$refs.ScaleBox) {
- this.$refs.ScaleBox.style.setProperty("--scale", this.scale);
- }
- },
- debounce(fn, delay) {
- let delays = delay || 500;
- let timer;
- return function () {
- let th = this;
- let args = arguments;
- if (timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(function () {
- timer = null;
- fn.apply(th, args);
- }, delays);
- };
- },
- }
- };
- </script>
- <style lang="scss">
- #elec-index {
- color: #d3d6dd;
- background-color: #000000;
- width: 100%;
- height: 100vh;
- .bg {
- padding: 0.2rem 0.2rem 0 0.2rem;
- background-size: cover;
- background-position: center center;
- background-image: url("../../../assets/image/pageBg.png");
- }
- .host-body {
- .title {
- position: relative;
- width: 6.25rem;
- text-align: center;
- background-size: cover;
- background-repeat: no-repeat;
- .title-text {
- font-size: 0.3rem;
- position: absolute;
- bottom: 0;
- left: 50%;
- top: 6%;
- transform: translate(-50%);
- font-weight: 900;
- }
- .title-bototm {
- position: absolute;
- bottom: -0.375rem;
- left: 50%;
- transform: translate(-50%);
- }
- }
- // 平行四边形
- .react-left {
- cursor: pointer;
- font-size: 0.225rem;
- width: 3.75rem;
- height: 0.625rem;
- line-height: 0.625rem;
- text-align: center;
- transform: skewX(-45deg);
- .react-after {
- position: absolute;
- right: -0.3125rem;
- top: 0;
- height: 0.625rem;
- width: 0.625rem;
- background-color: #0f1325;
- transform: skewX(45deg);
- }
- .text {
- display: inline-block;
- transform: skewX(45deg);
- }
- }
- .react-right {
- cursor: pointer;
- font-size: 0.225rem;
- width: 3.75rem;
- height: 0.625rem;
- line-height: 0.625rem;
- text-align: center;
- transform: skewX(45deg);
- .react-before {
- position: absolute;
- left: -0.3125rem;
- top: 0;
- height: 0.625rem;
- width: 0.625rem;
- background-color: #0f1325;
- transform: skewX(-45deg);
- }
- .text {
- display: inline-block;
- transform: skewX(-45deg);
- }
- }
- .body-box {
- margin-top: 0.2rem;
- display: flex;
- flex-direction: column;
- //下方区域的布局
- .content-box {
- display: grid;
- grid-template-columns: 2fr 3fr 5fr 3fr 2fr;
- }
- // 底部数据
- .bototm-box {
- margin-top: 0.125rem;
- display: grid;
- grid-template-columns: repeat(2, 50%);
- }
- }
- }
- }
- .fs-xl {
- font-size: 0.14rem;
- }
- </style>
- -->
|