|
|
@@ -12,29 +12,36 @@
|
|
|
<div class="o-item">
|
|
|
<v-chart autoresize :option="options[2]"/>
|
|
|
</div>
|
|
|
- <div class="o-item">
|
|
|
- <Zydbsx :data="dataList[0]"/>
|
|
|
+ <div class="o-item a-scrool">
|
|
|
+ <Zydbsx v-if="dataListReady" :fetchData="false" :data="dataList[0]"/>
|
|
|
</div>
|
|
|
- <div class="o-item">
|
|
|
- <Zydbsx :data="dataList[1]"/>
|
|
|
+ <div class="o-item a-scrool">
|
|
|
+<!-- <Zydbsx v-if="dataListReady" :data="dataList[1]"/>-->
|
|
|
</div>
|
|
|
|
|
|
- <div class="o-item">
|
|
|
- <Zydbsx :data="dataList[2]"/>
|
|
|
+ <div class="o-item a-scrool">
|
|
|
+<!-- <Zydbsx v-if="dataListReady" :data="dataList[2]"/>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import Zydbsx from '@/views/dashboard-screen/zydbsx/index.vue'
|
|
|
-import {chartDlbpdsby, chartDlsdxlBy, chartDlydtsby} from '@/api/dashboard-json'
|
|
|
+import {
|
|
|
+ chartDlbpdsby,
|
|
|
+ chartDlbpdsbyDetail,
|
|
|
+ chartDlsdxlBy,
|
|
|
+ chartDlsdxlbyDetail,
|
|
|
+ chartDlydtsby,
|
|
|
+ chartDlydtsbyDetail
|
|
|
+} from '@/api/dashboard-json'
|
|
|
import _ from 'lodash'
|
|
|
+
|
|
|
export default {
|
|
|
name: 'ScreenDlts',
|
|
|
components: {Zydbsx},
|
|
|
data() {
|
|
|
return {
|
|
|
- color: ['rgb(96, 150, 230)', 'rgb(88, 182, 229)'],
|
|
|
basicOption: {
|
|
|
xAxis: {
|
|
|
type: 'category',
|
|
|
@@ -46,7 +53,15 @@ export default {
|
|
|
series: [
|
|
|
{
|
|
|
data: [10, 20],
|
|
|
- type: 'bar'
|
|
|
+ type: 'bar',
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ color: (params) => {
|
|
|
+ const color = ['rgb(96, 150, 230)', 'rgb(4,245,69)']
|
|
|
+ return color[params.dataIndex]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
@@ -55,45 +70,47 @@ export default {
|
|
|
1: {},
|
|
|
2: {}
|
|
|
},
|
|
|
- dataList: {
|
|
|
- 0: [
|
|
|
- {name: '本月已完成数', value: 4},
|
|
|
- {name: '本月未完成数', value: 8},
|
|
|
+ dataList: [
|
|
|
+ [
|
|
|
+ {name: '本月已完成数', value: 0},
|
|
|
+ {name: '本月未完成数', value: 0},
|
|
|
{
|
|
|
name: '未完成明细',
|
|
|
value: null,
|
|
|
- children: [{name: '吉蛟03号箱变(吉林隧道)'}, {name: '吉蛟12号箱变(草木沟隧道)'}, {name: '吉蛟20号箱变(拉法山隧道)'}]
|
|
|
+ children: [{name: '-'}]
|
|
|
},
|
|
|
{name: '年度剩余数', value: 0},
|
|
|
{name: '下月计划完成数', value: 0}
|
|
|
],
|
|
|
- 1: [
|
|
|
- {name: '本月已完成数', value: 4},
|
|
|
- {name: '本月未完成数', value: 8},
|
|
|
+ [
|
|
|
+ {name: '本月已完成数', value: 0},
|
|
|
+ {name: '本月未完成数', value: 0},
|
|
|
{
|
|
|
name: '未完成明细',
|
|
|
value: null,
|
|
|
- children: [{name: '吉蛟03号箱变(吉林隧道)'}, {name: '吉蛟12号箱变(草木沟隧道)'}, {name: '吉蛟20号箱变(拉法山隧道)'}]
|
|
|
+ children: [{name: '-'}]
|
|
|
},
|
|
|
{name: '年度剩余数', value: 0},
|
|
|
{name: '下月计划完成数', value: 0}
|
|
|
],
|
|
|
- 2: [
|
|
|
- {name: '本月已完成数', value: 4},
|
|
|
- {name: '本月未完成数', value: 8},
|
|
|
+ [
|
|
|
+ {name: '本月已完成数', value: 0},
|
|
|
+ {name: '本月未完成数', value: 0},
|
|
|
{
|
|
|
name: '未完成明细',
|
|
|
value: null,
|
|
|
- children: [{name: '吉蛟03号箱变(吉林隧道)'}, {name: '吉蛟12号箱变(草木沟隧道)'}, {name: '吉蛟20号箱变(拉法山隧道)'}]
|
|
|
+ children: [{name: '-'}]
|
|
|
},
|
|
|
{name: '年度剩余数', value: 0},
|
|
|
{name: '下月计划完成数', value: 0}
|
|
|
]
|
|
|
- }
|
|
|
+ ],
|
|
|
+ dataListReady: false
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
this.getOption()
|
|
|
+ this.getData()
|
|
|
},
|
|
|
methods: {
|
|
|
getOption() {
|
|
|
@@ -113,6 +130,32 @@ export default {
|
|
|
this.options[2].series[0].data = [res3.info.series[0].data[0], res3.info.series[1].data[0]]
|
|
|
})
|
|
|
window['tis'] = this
|
|
|
+ },
|
|
|
+
|
|
|
+ getData() {
|
|
|
+ const arrMap = [
|
|
|
+ 'byywc', 'bywwc', 'wwcmx', 'ndsys', 'xyjhwc'
|
|
|
+ ]
|
|
|
+ const r1 = chartDlydtsbyDetail()
|
|
|
+ const r2 = chartDlsdxlbyDetail()
|
|
|
+ const r3 = chartDlbpdsbyDetail()
|
|
|
+ Promise.all([r1, r2, r3]).then(res => {
|
|
|
+ const resArr = [res[0].info, res[1].info, res[2].info]
|
|
|
+ resArr.forEach((item, index) => {
|
|
|
+ this.dataList[index].forEach((dIitem, dIndex) => {
|
|
|
+ const mapKey = arrMap[dIndex]
|
|
|
+ dIitem.value = item?.[mapKey]
|
|
|
+ if (mapKey === 'wwcmx') {
|
|
|
+ dIitem.children = item?.[mapKey].map(nameValue => {
|
|
|
+ return {name: nameValue}
|
|
|
+ }) || []
|
|
|
+ dIitem.value = ''
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.dataList = _.cloneDeep(this.dataList)
|
|
|
+ this.dataListReady = true
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -121,11 +164,11 @@ export default {
|
|
|
<style scoped lang="scss">
|
|
|
.dlts-wrap {
|
|
|
width: 100%;
|
|
|
- height: calc(100% - 70px);
|
|
|
+ height: calc(100% - 170px);
|
|
|
display: grid;
|
|
|
grid-auto-flow: row;
|
|
|
grid-template-columns: 1fr 1fr 1fr;
|
|
|
- grid-template-rows: 1fr 8fr 5fr;
|
|
|
+ grid-template-rows: 1fr 5fr 5fr;
|
|
|
grid-row-gap: 1fr;
|
|
|
grid-column-gap: 200px;
|
|
|
color: #ffffff;
|
|
|
@@ -139,6 +182,10 @@ export default {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
|
|
|
+ &.a-scrool{
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
+
|
|
|
::v-deep {
|
|
|
.row-item {
|
|
|
font-size: 1.0vw;
|