From 3efe2606474fba1905fa4edab82b713b9cfb5ef3 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 01 八月 2023 08:22:03 +0800 Subject: [PATCH] 完成车间大屏 --- src/views/dry/monitor/Eqp.vue | 530 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 261 insertions(+), 269 deletions(-) diff --git a/src/views/dry/monitor/Eqp.vue b/src/views/dry/monitor/Eqp.vue index ff09a46..461bb0e 100644 --- a/src/views/dry/monitor/Eqp.vue +++ b/src/views/dry/monitor/Eqp.vue @@ -1,14 +1,12 @@ <template> - <div class="eqpBox"> + <div class="eqpBox"> <div class="eqpRow"> - <div class="eqpImage" > - + <div class="eqpImage"> <div class="leftEqp"> - <div style="width: 300px; "> - <div class="herbInfo"> - + <div style="width: 300px"> + <div class="herbInfo"> <dv-border-box7 class="curEqp"> - <div class="eqpName" @click="changeEqp"> + <div class="eqpName" @click="changeEqp"> <div class="mainInfo" style="font-size: 26px">{{ eqp?.name }}</div> <div class="subhead">{{ eqp?.type }}</div> <!-- <dv-decoration-1 style="width:150px;height:60px; margin-left: 20px;" /> --> @@ -16,28 +14,28 @@ <div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> --> </div> </dv-border-box7> - <dv-border-box7 class="curHerb" :style="{'background-image': 'url(/src/assets/images/dry/yaocai/'+realData?.herbImage+')'}"> + <dv-border-box7 class="curHerb" :style="{ 'background-image': 'url(/src/assets/images/dry/yaocai/' + realData?.herbImage + ')' }"> <div class="eqpName" style="margin-left: 100px"> <div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div> <div class="subhead">骞茬嚗閰嶆柟</div> </div> <div class="formula"> <div class="formulaItem"> - <Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" /> + <Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" /> <div> <div class="mainInfo2">{{ realData?.feed }}绛�</div> <div class="subhead2">鎶曟枡閲�</div> </div> </div> <div class="formulaItem"> - <Icon style="color: red" icon="bx:wind" :size="35" /> + <Icon style="color: red" icon="bx:wind" :size="35" /> <div> <div class="mainInfo2">{{ realData?.windTemp }}掳C</div> <div class="subhead2">鐑</div> </div> </div> <div class="formulaItem"> - <Icon style="color: green" icon="tabler:target-arrow" :size="35" /> + <Icon style="color: green" icon="tabler:target-arrow" :size="35" /> <div> <div class="mainInfo2">{{ realData?.target }}%</div> <div class="subhead2">鐩爣</div> @@ -54,7 +52,7 @@ <div id="fanFreq" style="width: 220px; height: 200px"></div> </div> </dv-border-box7> --> - <dv-border-box7 class="infoChart" style="margin-left: 0px;"> + <dv-border-box7 class="infoChart" style="margin-left: 0px"> <div class="chartTittle">鍚按鐜�</div> <div class="outDiv" style="padding-top: 20px"> <div class="leftData"> @@ -81,72 +79,74 @@ </div> <div class="subhead2" style="margin-top: -37px; padding-left: 172px">瀹炴椂鍚按鐜�</div> </dv-border-box7> - </div> - <dv-border-box7 class="leftTop"> - - <div class="leftTop0"> - <div class="leftTop1"> - <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> - <div> - <div class="mainInfo">{{ realData?.totalRemain | 0 }}min</div> - <div class="subhead">鍓╀綑鏃堕棿</div> - </div> - </div> - <div class="leftTop1"> - <Icon icon="bi:fan" :size="50" /> - <div> - <div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div> - <div class="subhead">椋庢満棰戠巼</div> - </div> - </div> - <div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + statusGif + '.gif)' }"></div> - <div class="outDiv eqpStatus"> - <div - style=" - font-size: 28px; - margin-top: 60px; - color: white; - background-color: #1595ea; - height: 60px; - width: 180px; - line-height: 60px; - text-align: center; - border-radius: 5px; - font-weight: bold; - " - > - {{ statusTxt }} - </div> - <div v-if="realData?.isError" - class="eqpInfoText blingbling" - style=" - position: absolute; - - max-height: 130px; - max-width: 360px; - border-radius: 10px; - background-color: #ce0000; - color: white; - padding: 10px; - " - > - <div class="outDiv"> - <div><Icon icon="bx:error" :size="30" /> </div> - <div><span> {{realData?.errorMsg}}</span></div> - </div> - </div> - </div> </div> - </dv-border-box7> - - <dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px;"> - <div class="chartTittle">椋庣娓╁害</div> - <div class="outDiv"> - <div id="bellowsTemp" style="width: 220px; height: 200px"> - <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> + <dv-border-box7 class="leftTop"> + <div class="leftTop0"> + <div class="leftTop1"> + <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> + <div> + <div class="mainInfo">{{ realData?.totalRemain | 0 }}min</div> + <div class="subhead">鍓╀綑鏃堕棿</div> </div> </div> - </dv-border-box7> + <div class="leftTop1"> + <Icon icon="bi:fan" :size="50" /> + <div> + <div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div> + <div class="subhead">椋庢満棰戠巼</div> + </div> + </div> + <div class="leftTop3" :style="{ 'background-image': 'url(/src/assets/images/dry/' + statusGif + '.gif)' }"></div> + <div class="outDiv eqpStatus"> + <div + style=" + font-size: 28px; + margin-top: 60px; + color: white; + background-color: #1595ea; + height: 60px; + width: 180px; + line-height: 60px; + text-align: center; + border-radius: 5px; + font-weight: bold; + " + > + {{ statusTxt }} + </div> + <div + v-if="realData?.isError" + class="eqpInfoText blingbling" + style=" + position: absolute; + + max-height: 130px; + max-width: 360px; + border-radius: 10px; + background-color: #ce0000; + color: white; + padding: 10px; + " + > + <div class="outDiv"> + <div><Icon icon="bx:error" :size="30" /> </div> + <div + ><span> {{ realData?.errorMsg }}</span></div + > + </div> + </div> + </div> + </div> + </dv-border-box7> + + <dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px"> + <div class="chartTittle">椋庣娓╁害</div> + <div class="outDiv"> + <div id="bellowsTemp" style="width: 220px; height: 200px"> + <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> + </div> + </div> + </dv-border-box7> <dv-border-box7 class="leftMid"> <div class="chartTittle">瀹炴椂杩涘害</div> <div id="efficiencyLine" style="width: 780px; height: 130px; margin-top: -10px"></div> @@ -156,7 +156,7 @@ </div> <div id="progressBar" style="width: 780px; height: 80px"></div> </dv-border-box7> - + <!-- <div class="outDiv"> <div style="height: 100px; width: 400px"> <Progress @@ -177,7 +177,6 @@ </div> <div class="rightInfo"> <div class="rightTop"> - <dv-border-box7 class="tempMoisChart"> <div :id="'moisChart'" style="width: 550px; height: 320px"></div> </dv-border-box7> @@ -241,7 +240,6 @@ </div> </dv-border-box7> - <dv-border-box7 class="infoChart"> <div class="chartTittle" >钂告苯娑堣��(m鲁/kg) @@ -254,14 +252,17 @@ <div class="leftData"> <div class="center" style="height: 100%"> <div class="centerText"> - <div class="mainInfo3"><span>{{realData?.steam}}</span>m鲁 </div> + <div class="mainInfo3" + ><span>{{ realData?.steam }}</span + >m鲁 + </div> <div class="subhead2">钂告苯鐢ㄩ噺</div> </div> </div> </div> <div class="rightChart center"> <div class="center compareBar"> - <div class="barTop">{{standard.zhengqi}}</div> + <div class="barTop">{{ standard.zhengqi }}</div> <div class="barBack"> <div class="barDiv" :style="{ height: realData?.zqsHeight }"></div> </div> @@ -272,10 +273,14 @@ </div> </div> <div class="center compareBar"> - <div class="barTop">{{realData?.zhengqi | 0 }}</div> + <div class="barTop">{{ realData?.zhengqi | 0 }}</div> <div class="barBack"> - <div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }" - :style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div> + <div + class="barDiv" + :class="{ good: realData?.zqgood, bad: realData?.zqbad }" + :style="[realData?.zqrHeight && { height: realData?.zqrHeight }]" + > + </div> </div> <div style="line-height: 18px"> 瀹炴椂 @@ -286,7 +291,7 @@ </div> </div> </dv-border-box7> - <dv-border-box7 class="infoChart" > + <dv-border-box7 class="infoChart"> <div class="chartTittle">鏁堢巼瀵规瘮</div> <div class="outDiv" style="padding-top: 10px"> <div id="compare" style="width: 300px; height: 200px"></div> @@ -304,14 +309,17 @@ <div class="leftData"> <div class="center" style="height: 100%"> <div class="centerText"> - <div class="mainInfo3"><span>{{realData?.watt}}</span>kWh </div> + <div class="mainInfo3" + ><span>{{ realData?.watt }}</span + >kWh + </div> <div class="subhead2">鐢佃兘鐢ㄩ噺</div> </div> </div> </div> <div class="rightChart center"> <div class="center compareBar"> - <div class="barTop">{{standard.dian}}</div> + <div class="barTop">{{ standard.dian }}</div> <div class="barBack"> <div class="barDiv" :style="{ height: realData?.dnsHeight }"></div> </div> @@ -322,10 +330,13 @@ </div> </div> <div class="center compareBar"> - <div class="barTop">{{realData?.dian | 0}}</div> + <div class="barTop">{{ realData?.dian | 0 }}</div> <div class="barBack"> - <div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }" - :style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div> + <div + class="barDiv" + :class="{ good: realData?.dngood, bad: realData?.dnbad }" + :style="[realData?.dnrHeight && { height: realData?.dnrHeight }]" + ></div> </div> <div style="line-height: 18px"> 瀹炴椂 @@ -344,7 +355,7 @@ </template> <script setup lang="ts"> - import { useFullscreen } from '@vueuse/core'; + import { useFullscreen } from '@vueuse/core' import { BorderBox13 as DvBorderBox7 } from '@kjgl77/datav-vue3' import { router } from '/@/router' import { onMounted, ref, onUnmounted } from 'vue' @@ -356,10 +367,10 @@ import { queryById } from '../api/DryEquipment.api' import { dryEquipment } from '../dataDefine/DryEquipment.data' import { useUserStore } from '/@/store/modules/user' - const domRef = ref<Nullable<HTMLElement>>(null); - const { enter, toggle, exit, isFullscreen } = useFullscreen(); + const domRef = ref<Nullable<HTMLElement>>(null) + const { enter, toggle, exit, isFullscreen } = useFullscreen() -const { toggle: toggleDom } = useFullscreen(domRef); + const { toggle: toggleDom } = useFullscreen(domRef) const Timer = ref() const marks = ref<Record<number, any>>({ 0: '0掳C', @@ -464,7 +475,7 @@ 99: '', 100: '100掳C', }) - + const eqp = ref({} as dryEquipment) const userStore = useUserStore() const realData = ref({}) @@ -513,7 +524,7 @@ text: '鍚按鐜�/娓╁害瓒嬪娍', textStyle: { //color: '#fff', - fontSize: 15 + fontSize: 15, }, }, tooltip: { @@ -590,15 +601,15 @@ areaStyle: { opacity: 0.2, color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: 'rgb(128, 255, 165)' - }, - { - offset: 1, - color: 'rgb(1, 191, 236)' - } - ]) + { + offset: 0, + color: 'rgb(128, 255, 165)', + }, + { + offset: 1, + color: 'rgb(1, 191, 236)', + }, + ]), }, }, { @@ -616,15 +627,15 @@ areaStyle: { opacity: 0.2, color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: 'rgb(255, 0, 135)' - }, - { - offset: 1, - color: 'rgb(135, 0, 157)' - } - ]) + { + offset: 0, + color: 'rgb(255, 0, 135)', + }, + { + offset: 1, + color: 'rgb(135, 0, 157)', + }, + ]), }, // markLine: { // data: [ @@ -659,7 +670,7 @@ amplitude: 3, animationDuration: 5, //animationDurationUpdate: 0, - data: [0.56,0.44,0.32], + data: [0.56, 0.44, 0.32], shape: 'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z', outline: { @@ -1073,7 +1084,6 @@ }, legend: { right: 60, - }, xAxis: { show: false, @@ -1123,18 +1133,17 @@ ], }, markLine: { - symbol: 'none', - data: [ - { - name: '棰濆畾', - yAxis: standard.value.xiaolv, - }, - ], - label: { - formatter: '{b}\n{c}', - - }, - }, + symbol: 'none', + data: [ + { + name: '棰濆畾', + yAxis: standard.value.xiaolv, + }, + ], + label: { + formatter: '{b}\n{c}', + }, + }, // markLine: { // data: [{ type: 'average', name: 'Avg' }], // }, @@ -1143,50 +1152,46 @@ } const compareOption = { - - tooltip: { - trigger: 'axis', - + tooltip: { + trigger: 'axis', + }, + grid: { + top: '6%', + left: '10%', + right: '10%', + bottom: '3%', + containLabel: true, + }, + xAxis: { + show: false, + type: 'value', + }, + yAxis: { + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + type: 'category', + data: ['1#', '2#', '3#', '4#', '5#', '6#'], + }, + series: [ + { + name: '2011', + type: 'bar', + barWidth: 10, + data: [190, 89, 34, 70, 44, 30], + label: { + show: true, + position: 'right', + valueAnimation: true, + + color: '#fff', }, - grid: { - top: '6%', - left: '10%', - right: '10%', - bottom: '3%', - containLabel: true - }, - xAxis: { - show: false, - type: 'value', - - }, - yAxis: { - axisLine: { - show:false, - }, - axisTick: { - show: false, - }, - type: 'category', - data: ['1#', '2#', '3#', '4#', '5#', '6#'] - }, - series: [ - { - name: '2011', - type: 'bar', - barWidth: 10, - data: [190, 89, 34, 70, 44, 30], - label: { - show: true, - position: 'right', - valueAnimation: true, - - color: '#fff' - } - }, - ] - } - + }, + ], + } option && moisChart.setOption(option) waterOption && waterChart.setOption(waterOption) @@ -1198,7 +1203,6 @@ compareOption && compareChart.setOption(compareOption) } - function queryEqp() { queryById({ id: router.currentRoute.value.params.id }).then((res) => { // console.log(`output->res`, res) @@ -1208,29 +1212,26 @@ }) } - - var shangliaoFlag = false; - var statusGif = 'tmrefeng2'; + var shangliaoFlag = false + var statusGif = 'tmrefeng2' var statusTxt = '姝e湪骞茬嚗' function chaiwangban() { statusGif = 'chaiwangban-1' - setTimeout(shangliao,7000) - + setTimeout(shangliao, 7000) } function shangliao() { - statusGif = "shangliao-N" - setTimeout(()=>{ - statusGif = "zhuangwangban" - setTimeout(()=>{ - statusGif = "guanmen1" - setTimeout(()=>{ + statusGif = 'shangliao-N' + setTimeout(() => { + statusGif = 'zhuangwangban' + setTimeout(() => { + statusGif = 'guanmen1' + setTimeout(() => { shangliaoFlag = false - },4000) - - },5000) - },13000) + }, 4000) + }, 5000) + }, 13000) } function queryRealTime() { @@ -1238,9 +1239,8 @@ let eqpCode = eqp.value.code let queryRealTimeUrl = '/dry/real/getRealTimeData' defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => { - if (res && res.trendVo) { - console.log(`output->re11s`, res) + //console.log(`output->re11s`, res) // res.tempValue = [res.windTemp, 100] //res.percent = ((res.dryTime / res.et) * 100).toFixed(2) /**姘存淮鍥惧惈姘撮噺 */ @@ -1341,7 +1341,7 @@ ], }) } - res.totalRemain = res.remain - (res.dryTime - totalTime)>0?res.remain - (res.dryTime - totalTime):0 + res.totalRemain = res.remain - (res.dryTime - totalTime) > 0 ? res.remain - (res.dryTime - totalTime) : 0 progressSeries.push({ name: '鍓╀綑', type: 'bar', @@ -1387,32 +1387,33 @@ }, yAxis: { max: function (value) { - - console.log("max::",value); - if (value.max < standard.value.xiaolv + 3) { - return standard.value.xiaolv + 3 - } else { - return value.max - } - }, - - - + // console.log("max::",value); + if (value.max < standard.value.xiaolv + 3) { + return standard.value.xiaolv + 3 + } else { + return value.max + } + }, }, - series: [{ data: ganZaoXiaoLv, - markLine: { - symbol: 'none', - data: [ - { - name: '棰濆畾', - yAxis: standard.value.xiaolv, + series: [ + { + data: ganZaoXiaoLv, + markLine: { + symbol: 'none', + data: [ + { + name: '棰濆畾', + yAxis: standard.value.xiaolv, + }, + ], + label: { + formatter: '{b}\n{c}', }, - ], - label: { - formatter: '{b}\n{c}', - }, - } }, { data: zhengQiXiaoHao }, { data: dianNengXiaoHao }], + }, + { data: zhengQiXiaoHao }, + { data: dianNengXiaoHao }, + ], }) } @@ -1460,12 +1461,12 @@ } /**鏁堢巼瀵规瘮鍥� */ - if( (res.originWeight - res.yield) <= 0) { - res.xiaolv = standard.value.xiaolv + 6 + if (res.originWeight - res.yield <= 0) { + res.xiaolv = standard.value.xiaolv + 6 } else { res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2) } - + if (res.xiaolv > standard.value.xiaolv) { res.xlgood = true res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%' @@ -1479,15 +1480,13 @@ res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%' } - - /** 钂告苯娑堣�� */ - if( (res.originWeight - res.yield) <= 0) { - res.zhengqi = standard.value.zhengqi -3 + if (res.originWeight - res.yield <= 0) { + res.zhengqi = standard.value.zhengqi - 3 } else { res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1) } - console.log('zhengqi:', res.zhengqi); + //console.log('zhengqi:', res.zhengqi); if (res.zhengqi > standard.value.zhengqi) { res.zqbad = true res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%' @@ -1501,21 +1500,18 @@ res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%' } - - /** 鐢佃兘娑堣�� */ - if( (res.originWeight - res.yield) <= 0) { - res.dian = standard.value.dian -1.5 + if (res.originWeight - res.yield <= 0) { + res.dian = standard.value.dian - 1.5 } else { res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1) } - + if (res.dian > standard.value.dian) { res.dnbad = true res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%' res.dnrHeight = '100%' } else if (res.dian < standard.value.dMin) { - res.dngood = true res.dnsHeight = '100%' res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%' @@ -1527,51 +1523,50 @@ /**鐘舵��/gif鍔ㄥ浘 */ if (!shangliaoFlag) { if (res.orderStatus == 0) { - statusGif = 'zanting' - statusTxt = '鍑嗗' - } else if (res.orderStatus == 1) { - shangliaoFlag = true - statusGif = 'kaimen1' - statusTxt = '涓婃枡' - setTimeout(chaiwangban,4000) - } else if (res.orderStatus == 2) { - if(res.state_fan == 1) { - statusGif = 'tmrefeng2' - statusTxt = '姝e湪骞茬嚗' - } + statusGif = 'zanting' + statusTxt = '鍑嗗' + } else if (res.orderStatus == 1) { + shangliaoFlag = true + statusGif = 'kaimen1' + statusTxt = '涓婃枡' + setTimeout(chaiwangban, 4000) + } else if (res.orderStatus == 2) { + if (res.state_fan == 1) { + statusGif = 'tmrefeng2' + statusTxt = '姝e湪骞茬嚗' + } - if(res.state_roller == 4) { - statusGif = 'fanliao-N' - statusTxt = '姝e湪缈绘枡' - } + if (res.state_roller == 4) { + statusGif = 'fanliao-N' + statusTxt = '姝e湪缈绘枡' + } - if (res.state_roller == 5) { - statusGif = 'chuliao-N' - statusTxt = '姝e湪鍑烘枡' + if (res.state_roller == 5) { + statusGif = 'chuliao-N' + statusTxt = '姝e湪鍑烘枡' + } + + if (res.state_windbox == 2 || res.state_windbox == 3) { + statusGif = 'fengxiangsheng-1' + statusTxt = '姝e湪骞茬嚗' + } + } else if (res.orderStatus == 3) { + statusGif = 'zanting' + statusTxt = '鏆傚仠' + } else if (res.orderStatus == 4) { + statusGif = 'zanting' + statusTxt = '骞茬嚗瀹屾垚' } - - if (res.state_windbox == 2 || res.state_windbox == 3) { - statusGif = 'fengxiangsheng-1' - statusTxt = '姝e湪骞茬嚗' - } - } else if(res.orderStatus == 3) { - statusGif = 'zanting' - statusTxt = '鏆傚仠' - } else if(res.orderStatus == 4) { - statusGif = 'zanting' - statusTxt = '骞茬嚗瀹屾垚' } - } - if (compareChart) { compareChart.setOption({ yAxis: { - data: res.compEqpNum + data: res.compEqpNum, }, series: { - data: res.compEqpEffic - } + data: res.compEqpEffic, + }, }) } @@ -1597,10 +1592,10 @@ res = { mois: [], gif: 'tmrefeng2', - herbImage: 'yaocai1.png' + herbImage: 'yaocai1.png', } } - console.log(`output->res`, res) + //console.log(`output->res`, res) realData.value = res }) } @@ -1627,7 +1622,7 @@ .eqpImage { height: 860px; width: 1800px; - /* background-image: url(/src/assets/images/dry/bg.png); + /* background-image: url(/src/assets/images/dry/bg.png); background-repeat: no-repeat; */ /*background-position: 160px 280px; */ @@ -1643,7 +1638,7 @@ width: 1080px; display: flex; flex-wrap: wrap; - + /* background-color: white; background-image: url(/src/assets/images/dry/shebei1.png); background-repeat: no-repeat; @@ -1665,7 +1660,6 @@ border-radius: 10px; flex-wrap: wrap; background-position: -78px 119px; - } .leftTop0 { height: 600px; @@ -1676,7 +1670,6 @@ flex-wrap: wrap; } .leftMid { - width: 780px; height: 230px; /* border: 1px solid; */ @@ -1735,7 +1728,6 @@ align-items: center; font-size: 30px; color: #727272; - } .leftTop2 { width: 250px; @@ -1878,7 +1870,7 @@ width: 590px; height: 360px; /* background: white; */ - + padding: 20px; border-radius: 10px; } -- Gitblit v1.9.3