123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- <template>
- <div id="front" style="width: 100%; height: 100%; font-size: 12px" >
- <dv-loading v-if="loading">Loading...</dv-loading>
- <div v-else class="host-body bg bgNew">
- <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">99BCC {{ $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">
- <!--左侧 tab切换 -->
- <div class="d-flex" style="width: 40%">
- <div
- class="react-right ml-4"
- :style="tabIndex === 1 ? 'background-color: #1a5cd7; width: 3.25rem; text-align: left;' : 'width: 3.25rem; text-align: left;background-color: #0f1325;'"
- @click="handleTab(1)"
- >
- <span class="text">运行总览</span>
- </div>
- <div class="react-right ml-3" :style="tabIndex === 2 ? 'background-color: #1a5cd7;' : 'background-color: #0f1325;'" @click="handleTab(2)">
- <span class="text">物料平衡</span>
- </div>
- <div class="react-right ml-3" :style="tabIndex === 3 ? 'background-color: #1a5cd7;' : 'background-color: #0f1325;'" @click="handleTab(3)">
- <span class="text">蒸汽平衡</span>
- </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" ref="appRef" >
- <!-- 运行总览 -->
- <el-row class="yunxing suofang" v-if="tabIndex === 1">
- <!-- 左侧 -->
- <el-col :span="8" class="yunxing-left">
- <div id="app-container-Right">
- <div class="up">
- <annual-output :dashboarddata = 'dashboarddata'/>
- </div>
- <div class="middle">
- <dv-border-box-13>
- <energy-consumption :monthData = 'monthData'/>
- </dv-border-box-13>
- </div>
- <div class="down">
- <dv-border-box-13>
- <product-proportion :dashboarddata = 'dashboarddata'/>
- </dv-border-box-13>
- </div>
- <dv-border-box-12 style="height: 260px;overflow: hidden;">
- <bottom-right :dashboarddata = 'dashboarddata'/>
- </dv-border-box-12>
- </div>
- </el-col>
- <!-- 中间 -->
- <el-col :span="8" class="yunxing-middle">
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <nap-tank :dashboarddata = 'dashboarddata'/>
- </dv-border-box-12>
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <product-tank :dashboarddata = 'dashboarddata'/>
- </dv-border-box-12>
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <bottom-left :monthData = 'monthData'/>
- </dv-border-box-12>
- </el-col>
- <!-- 右侧 -->
- <el-col :span="8" class="yunxing-right">
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <ethylene-tank :dashboarddata = 'dashboarddata' />
- </dv-border-box-12>
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <acrylic-tank :dashboarddata = 'dashboarddata'/>
- </dv-border-box-12>
- <dv-border-box-12 style="width: 100%;height: 323px;">
- <bottom-energy :monthData = 'monthData'/>
- </dv-border-box-12>
- </el-col>
- </el-row>
- <!-- 物料平衡 -->
- <el-row class="wuliao suofang" v-if="tabIndex === 2">
- <material-balance :dashboarddata = 'dashboarddata'/>
- </el-row>
- <!-- 蒸汽平衡 -->
- <el-row class="zhengqi suofang" v-if="tabIndex === 3">
- <steam-balance :dashboarddata = 'dashboarddata'/>
- </el-row>
- </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 bottomEnergy from "@/views/front/bottomEnergy";
- 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 annualOutput from "@/views/front/annualOutput";
- import energyConsumption from "@/views/front/energyConsumption";
- import productProportion from "@/views/front/productProportion";
- import dayjs from "dayjs";
- import '@/common/flexible.js';
- import dataV from '@jiaminghi/data-view';
- import {selectLast, selectMonth} from "@/api/aspen/dashboarddata";
- import drawMixin from "../../../utils/drawMixin"; //自适应缩放
- export default {
- mixins: [drawMixin],
- 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,
- dashboarddata: {
- energyYixi: null,
- energyBingxi: null,
- energyQingqi: null,
- energyJiawan: null,
- energyCsi: null,
- energyBenzene: null,
- energyToluene: null,
- energyXylene: null,
- energyTanliu: null,
- energyWashoil: null,
- energyTanwu: null,
- energyIma: null,
- energyCjiu: null,
- energyRpg: null,
- energyfeedNap: null,
- energyfeedYiwan: null,
- energyfeedTanwu: null,
- energyfeedTanliu: null,
- energyfeedLpg: null,
- energyOffgas: null,
- energyLpg: null,
- steamSsinfur: null,
- steamSsoutlet: null,
- steamSsoutaeu: null,
- steamSsoutesi: null,
- steamSsoutksan: null,
- steamSsoutsc: null,
- steamHsinsub: null,
- steamHsinlet: null,
- steamHsinksan: null,
- steamHsoutpjiu: null,
- steamHsoutaeu: null,
- steamHsoutlet: null,
- steamHsoutesan: null,
- steamHsoutphyi: null,
- steamHsoutpher: null,
- steamHsouthwu: null,
- steamHsoutkliu: null,
- steamHsoutsc: null,
- steamHhpsub: null,
- steamMsinaeu: null,
- steamMsinlet: null,
- steamMsinphyi: null,
- steamMsinkliu: null,
- steamMsoutflare: null,
- steamMsoutaeu: null,
- steamMsoutsctu: null,
- steamMsouteer: null,
- steamMsoutfur: null,
- steamMsoutva: null,
- steamMsouttracing: null,
- steamLsinsub: null,
- steamLsinpjiu: null,
- steamLsinaeu: null,
- steamLsineer: null,
- steamLsinpher: null,
- steamLsoutsctu: null,
- steamLsoutvjiu: null,
- steamLsoutewuliu: null,
- steamLsoutewusan: null,
- steamLsouttracing: null,
- steamLsoutesan: null,
- steamLsoutesi: null,
- steamLsoutother: null,
- napOne: null,
- napTwo: null,
- napThree: null,
- ehtOne: null,
- ehtTwo: null,
- ehtThree: null,
- ehtFour: null,
- ehtFive: null,
- acrOne: null,
- acrTwo: null,
- acrThree: null,
- acrFour: null,
- acrZero: null,
- proTwo: null,
- proOne: null,
- proThree: null,
- proFour: null,
- ssBcc: null,
- ssSub: null,
- ssEu: null,
- ssPgu: null,
- hhpBcc: null,
- hhpSub: null,
- hsBcc: null,
- hsSub: null,
- hsEu: null,
- hsPgu: null,
- msBcc: null,
- msEu: null,
- msPgu: null,
- lsBcc: null,
- lsEu: null,
- lsPgu: null,
- totalBcc: null,
- totalEu: null,
- zongBcc: null,
- zongEu: null,
- zongPgu: null,
- outputYixi: null,
- outputBx: null,
- outputAnnual: null,
- instantaneous: null,
- cumulative: null,
- steamHsoutklz:null
- },
- monthData: {
- dailyYixi: null,
- dailyBingxi: null,
- lossRate: null,
- energyConsumption: null,
- productPutput: null,
- dataDate: null,
- dateDay: null
- },
- // 重构页面
- tabIndex:1,
- };
- },
- components: {
- centerLeft1,
- centerLeft2,
- centerRight1,
- centerRight2,
- center,
- bottomLeft,
- bottomEnergy,
- bottomRight,
- frontTwo,
- materialBalance,
- steamBalance,
- chartRight,
- napTank,
- ethyleneTank,
- acrylicTank,
- productTank,
- annualOutput,
- energyConsumption,
- productProportion
- },
- 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);
- },
- created() {
- this.getList();
- this.getMonthList()
- // 每隔30秒请求一次数据
- window.setInterval(() => {
- ///调取接口获取数据
- this.getList();
- }, 30000)
- // 一天请求一次数据
- window.setInterval(() => {
- setTimeout(() => {
- ///调取接口获取数据
- this.getMonthList();
- }, 0)
- }, 1000 * 10 * 6 * 60 * 6)
- },
- beforeDestroy(){
- if(this.timer){
- clearInterval(this.timer);
- }
- },
- methods: {
- /** 查询dashboard抓取数据列表 */
- getList()
- {
- selectLast(this.queryParams).then(response => {
- this.dashboarddata = response.data;
- });
- },
- /** 查询dashboard抓取数据列表 */
- getMonthList()
- {
- selectMonth(this.queryParams).then(response => {
- this.monthData = response.data;
- });
- },
- 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() {
- let routeData = this.$router.resolve({
- path: "/BCCdashboardNew",
- });
- window.open('/cpms/index.html#/BCCdashboardNew', '_blank');
- // window.open('index.html#/bccHome?redirect=%2Findex');//path是文件的全路径地址cpms/index.html#/login?redirect=%2Findex
- },
- // 重构tab切换
- handleTab(id){
- this.tabIndex = id;
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- #front{
- overflow: scroll !important;
- }
- #front .host-body .react-right .text{
- width: 100%;
- display: block;
- text-align: center;
- }
- #front .bg.bgNew{
- width: 100%;
- }
- .body-box{
- color: #d3d6dd;
- width: 1920px;
- height: 1080px;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- transform-origin: left top;
- overflow: hidden;
- }
- .yunxing{
- display: flex;
- &-left{
- }
- #app-container-Right {
- width: 100%;
- height: 100%;
- .up {
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- justify-content: space-around;
- }
- .middle {
- padding: 0.07rem 0.05rem;
- padding-bottom: 0;
- width: 100%;
- display: flex;
- justify-content: space-between;
- }
- .down {
- padding: 0.07rem 0.05rem;
- padding-bottom: 0;
- width: 100%;
- display: flex;
- justify-content: space-between;
- }
- }
- }
- #front{
- overflow: unset !important;
- }
- .wuliao{
- transform: scale(1.4,1.3) translate(13%,10%) !important;
- }
- .zhengqi{
- transform: scale(1.55,1.2) translate(17%,8%) !important;
- }
- </style>
|