| | |
| | | <template> |
| | | <div id="descCont" class="dark-desc"> |
| | | <div class="des-tit"> |
| | | <div>2022年度事故等级分布与影响一览</div> |
| | | <dv-decoration8 :color="lineColor" :reverse="true" style="width:100%;" /> |
| | | </div> |
| | | <div class="des-main"> |
| | | <div v-if="descContent[0]"> |
| | | <h4>特别重大事故共计:{{descContent[0].count}}起</h4> |
| | | <p> |
| | | 死亡人数:{{descContent[0].causeDeathCount}}人; |
| | | 重伤人数:{{descContent[0].causeHeavyInjureCount}}人; |
| | | 轻伤人数:{{descContent[0].causeLightInjureCount}}人; |
| | | 直接经济损失:{{descContent[0].loss}}元</p> |
| | | </div> |
| | | <div v-if="descContent[1]"> |
| | | <h4>重大事故共计:{{descContent[1].count}}起</h4> |
| | | <p> |
| | | 死亡人数:{{descContent[1].causeDeathCount}}人; |
| | | 重伤人数:{{descContent[1].causeHeavyInjureCount}}人; |
| | | 轻伤人数:{{descContent[1].causeLightInjureCount}}人; |
| | | 直接经济损失:{{descContent[1].loss}}万元</p> |
| | | </div> |
| | | <div v-if="descContent[2]"> |
| | | <h4>较大事故共计:{{descContent[2].count}}起</h4> |
| | | <p> |
| | | 死亡人数:{{descContent[2].causeDeathCount}}人; |
| | | 重伤人数:{{descContent[2].causeHeavyInjureCount}}人; |
| | | 轻伤人数:{{descContent[2].causeLightInjureCount}}人; |
| | | 直接经济损失:{{descContent[2].loss}}元</p> |
| | | </div> |
| | | <div v-if="descContent[3]"> |
| | | <h4>一般事故共计:{{descContent[3].count}}起</h4> |
| | | <p> |
| | | 死亡人数:{{descContent[3].causeDeathCount}}人; |
| | | 重伤人数:{{descContent[3].causeHeavyInjureCount}}人; |
| | | 轻伤人数:{{descContent[3].causeLightInjureCount}}人; |
| | | 直接经济损失:{{descContent[3].loss}}元</p> |
| | | </div> |
| | | <div v-if="descContent[4]"> |
| | | <h4>未遂事故共计:{{descContent[4].count}}起</h4> |
| | | <p> |
| | | 死亡人数:{{descContent[4].causeDeathCount}}人; |
| | | 重伤人数:{{descContent[4].causeHeavyInjureCount}}人; |
| | | 轻伤人数:{{descContent[4].causeLightInjureCount}}人; |
| | | 直接经济损失:{{descContent[4].loss}}元</p> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="tit"> |
| | | <div class="title">事故等级分布</div> |
| | | </div> |
| | | <div class="chart-cont"> |
| | | <div class="chart"> |
| | | <accident :size="2.5" ref="accRef" @getData="getData"></accident> |
| | | </div> |
| | | <div class="chart-right"> |
| | | <dv-decoration-10 :color="lineColor" style="width:100%;height:5%;" /> |
| | | <div class="charts-des"> |
| | | <div id="descCont" class="dark-desc"> |
| | | <div class="des-tit"> |
| | | <div>事故等级分布一览</div> |
| | | <dv-decoration8 :color="lineColor" :reverse="true" style="width:100%;" /> |
| | | </div> |
| | | <div class="des-main"> |
| | | <div v-for="(item,index) in descContent" :key="index"> |
| | | <h4>{{item.accidentGrade}}:{{item.count}}起</h4> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <dv-decoration-10 :color="lineColor" style="width:100%;height:5%;"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script lang="ts"> |
| | | import screenfull from 'screenfull'; |
| | |
| | | |
| | | export default defineComponent({ |
| | | name: 'accDesc', |
| | | components: {}, |
| | | components: { |
| | | accident: defineAsyncComponent(() => import('/@/views/riskWarningSys/warningBigScreen/components/accident.vue')) |
| | | }, |
| | | props:{ |
| | | content: Object || null |
| | | }, |
| | |
| | | descContent: [], |
| | | lineColor: ['#11FEEE'], |
| | | }); |
| | | const getDataByYearId = async () => { |
| | | const data = { |
| | | depId: screenTheme.value.depId || 1, |
| | | beginYear: state.timeValue[0], |
| | | beginMonth: state.timeValue[1], |
| | | endYear: state.timeValue[0], |
| | | endMonth: state.timeValue[1] |
| | | } |
| | | if(state.timeValue[1] == '0'){ |
| | | data.beginMonth = '1' |
| | | data.endMonth = '12' |
| | | } |
| | | let res = await riskWarningApi().getRiskByTimeDep(data); |
| | | if (res.data.code === '200') { |
| | | // const getDataByYearId = async () => { |
| | | // const data = { |
| | | // depId: screenTheme.value.depId || 1, |
| | | // beginYear: state.timeValue[0], |
| | | // beginMonth: state.timeValue[1], |
| | | // endYear: state.timeValue[0], |
| | | // endMonth: state.timeValue[1] |
| | | // } |
| | | // if(state.timeValue[1] == '0'){ |
| | | // data.beginMonth = '1' |
| | | // data.endMonth = '12' |
| | | // } |
| | | // let res = await riskWarningApi().getRiskByTimeDep(data); |
| | | // if (res.data.code === '200') { |
| | | // |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }); |
| | | // } |
| | | // } |
| | | |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | const getData = (data:Array)=>{ |
| | | state.descContent = data |
| | | } |
| | | |
| | | const getTheme =()=>{ |
| | | if(screenTheme.value.isDark){ |
| | | window.document.getElementById('descCont').setAttribute( "class", 'dark-desc' ); |
| | |
| | | } |
| | | } |
| | | |
| | | watchEffect(() => { |
| | | if(props.content && props.content.accData && props.content.accData[0] && props.content.accData[1] && props.content.accData[2] && props.content.accData[3] && props.content.accData[4]){ |
| | | state.descContent = props.content.accData |
| | | } |
| | | }) |
| | | // watchEffect(() => { |
| | | // if(props.content && props.content.accData && props.content.accData[0] && props.content.accData[1] && props.content.accData[2] && props.content.accData[3] && props.content.accData[4]){ |
| | | // state.descContent = props.content.accData |
| | | // } |
| | | // }) |
| | | |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | getTheme(); |
| | | }); |
| | | return { |
| | | getData, |
| | | ...toRefs(state) |
| | | }; |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .dark-desc{ |
| | | .dark-page{ |
| | | width: 100%; |
| | | height: 100%; |
| | | border:1px #5a5959 solid; |
| | | background: url('../../../../../assets/warningScreen/body-bg.jpg'); |
| | | padding: 4%; |
| | | .btns{ |
| | | position: fixed; |
| | | width: 8%; |
| | | height: 6%; |
| | | right: 5%; |
| | | top: 1.25rem; |
| | | font-size: 1.125rem; |
| | | color: rgb(17, 254, 238); |
| | | cursor: pointer; |
| | | } |
| | | .tit{ |
| | | width: 100%; |
| | | height: 100%; |
| | | height: 122px; |
| | | background: url("../../../../../assets/warningScreen/pagebg-t.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | .des-tit{ |
| | | |
| | | .title{ |
| | | width: 100%; |
| | | &>div{ |
| | | font-size: 1.5rem; |
| | | height: 2.2rem; |
| | | line-height: 2.2rem; |
| | | text-align: center; |
| | | font-weight: bolder; |
| | | color: #11FEEE; |
| | | } |
| | | } |
| | | .des-main{ |
| | | width: 100%; |
| | | height: calc(96% - 2.2rem); |
| | | padding: 1rem; |
| | | overflow: auto; |
| | | color: #11FEEE; |
| | | |
| | | &::-webkit-scrollbar { width: 0; height: 0; color: transparent; } |
| | | &::scrollbar { width: 0; height: 0; color: transparent; } |
| | | |
| | | &>div{ |
| | | margin-bottom: 1rem; |
| | | &>h4{ |
| | | font-size: 1.25rem; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | span{ |
| | | margin-right: 10px; |
| | | } |
| | | &:first-of-type{ |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | | &>p{ |
| | | font-size: 1rem; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | height: 122px; |
| | | line-height: 112px; |
| | | border-radius: 8px; |
| | | margin-bottom: 20px; |
| | | font-size: 2.8rem; |
| | | color: #11feee; |
| | | font-weight: bolder; |
| | | text-align: center; |
| | | letter-spacing: 5px; |
| | | } |
| | | } |
| | | .light-desc{ |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | .des-tit{ |
| | | width: 100%; |
| | | &>div{ |
| | | font-size: 1.5rem; |
| | | height: 2.2rem; |
| | | line-height: 2.2rem; |
| | | text-align: center; |
| | | font-weight: bolder; |
| | | color: #333; |
| | | .chart-cont{ |
| | | width: 100%; |
| | | padding: 20px; |
| | | height: calc(92vh - 122px); |
| | | display: flex; |
| | | align-items: flex-start; |
| | | justify-content: space-between; |
| | | |
| | | .chart{ |
| | | width: calc((100% - 20px) * 0.63); |
| | | height: 100%; |
| | | padding: 3%; |
| | | background: url("../../../../../assets/warningScreen/pagebg-l.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | .selector-2{ |
| | | position: absolute; |
| | | top: 5%; |
| | | right: 10%; |
| | | width: 20%; |
| | | font-size: 1.25rem; |
| | | color: #fff; |
| | | } |
| | | .main-chart{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .des-main{ |
| | | .chart-right{ |
| | | width: calc((100% - 20px) * 0.37); |
| | | height: 100%; |
| | | .charts-des{ |
| | | height: 90%; |
| | | padding: 4%; |
| | | background: url("../../../../../assets/warningScreen/pagebg-r.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | .dark-desc{ |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | .des-tit{ |
| | | width: 100%; |
| | | &>div{ |
| | | font-size: 1.5rem; |
| | | height: 2.2rem; |
| | | line-height: 2.2rem; |
| | | text-align: center; |
| | | font-weight: bolder; |
| | | color: #11FEEE; |
| | | } |
| | | } |
| | | .des-main{ |
| | | width: 100%; |
| | | height: calc(96% - 2.2rem); |
| | | padding: 1rem; |
| | | overflow: auto; |
| | | color: #11FEEE; |
| | | |
| | | &::-webkit-scrollbar { width: 0; height: 0; color: transparent; } |
| | | &::scrollbar { width: 0; height: 0; color: transparent; } |
| | | |
| | | &>div{ |
| | | margin-bottom: 1rem; |
| | | &>h4{ |
| | | font-size: 1.25rem; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | span{ |
| | | margin-right: 10px; |
| | | } |
| | | &:first-of-type{ |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | | &>p{ |
| | | font-size: 1rem; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | .light-page{ |
| | | width: 100%; |
| | | height: 100%; |
| | | border:1px #5a5959 solid; |
| | | background: #F0F0F0; |
| | | padding: 4%; |
| | | .btns{ |
| | | position: fixed; |
| | | width: 8%; |
| | | height: 6%; |
| | | right: 5%; |
| | | top: 1.25rem; |
| | | font-size: 1.125rem; |
| | | color: #333; |
| | | cursor: pointer; |
| | | } |
| | | .tit{ |
| | | width: 100%; |
| | | height: 122px; |
| | | background: url("../../../../../assets/warningScreen/pagebg-t-light.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | |
| | | .title{ |
| | | width: 100%; |
| | | height: calc(96% - 2.2rem); |
| | | padding: 1rem; |
| | | overflow: auto; |
| | | height: 122px; |
| | | line-height: 112px; |
| | | border-radius: 8px; |
| | | margin-bottom: 20px; |
| | | font-size: 2.8rem; |
| | | color: #333; |
| | | font-weight: bolder; |
| | | text-align: center; |
| | | letter-spacing: 5px; |
| | | } |
| | | } |
| | | |
| | | &::-webkit-scrollbar { width: 0; height: 0; color: transparent; } |
| | | &::scrollbar { width: 0; height: 0; color: transparent; } |
| | | .chart-cont{ |
| | | width: 100%; |
| | | padding: 20px; |
| | | height: calc(92vh - 122px); |
| | | display: flex; |
| | | align-items: flex-start; |
| | | justify-content: space-between; |
| | | |
| | | &>div{ |
| | | margin-bottom: 1rem; |
| | | &>h4{ |
| | | font-size: 1.25rem; |
| | | display: flex; |
| | | align-items: center; |
| | | .chart{ |
| | | width: calc((100% - 20px) * 0.63); |
| | | height: 100%; |
| | | padding: 3%; |
| | | background: url("../../../../../assets/warningScreen/pagebg-l-light.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | .selector-2{ |
| | | position: absolute; |
| | | top: 5%; |
| | | right: 10%; |
| | | width: 20%; |
| | | font-size: 1.25rem; |
| | | color: #fff; |
| | | } |
| | | .main-chart{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | .chart-right{ |
| | | width: calc((100% - 20px) * 0.37); |
| | | height: 100%; |
| | | |
| | | span{ |
| | | margin-right: 10px; |
| | | .charts-des{ |
| | | height: 90%; |
| | | padding: 4%; |
| | | background: url("../../../../../assets/warningScreen/pagebg-r-light.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | .light-desc{ |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | .des-tit{ |
| | | width: 100%; |
| | | &>div{ |
| | | font-size: 1.5rem; |
| | | height: 2.2rem; |
| | | line-height: 2.2rem; |
| | | text-align: center; |
| | | font-weight: bolder; |
| | | color: #333; |
| | | } |
| | | } |
| | | &:first-of-type{ |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | .des-main{ |
| | | width: 100%; |
| | | height: calc(96% - 2.2rem); |
| | | padding: 1rem; |
| | | overflow: auto; |
| | | color: #333; |
| | | |
| | | &>p{ |
| | | font-size: 1rem; |
| | | margin-top: 10px; |
| | | &::-webkit-scrollbar { width: 0; height: 0; color: transparent; } |
| | | &::scrollbar { width: 0; height: 0; color: transparent; } |
| | | |
| | | &>div{ |
| | | margin-bottom: 1rem; |
| | | &>h4{ |
| | | font-size: 1.25rem; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | span{ |
| | | margin-right: 10px; |
| | | } |
| | | &:first-of-type{ |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | |
| | | &>p{ |
| | | font-size: 1rem; |
| | | margin-top: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |