Merge branch 'dev-jack' into shenzhen-dev
This commit is contained in:
commit
5dda64433e
58
src/views/projectAdmin/jlw/CIM/BimCoordination.vue
Normal file
58
src/views/projectAdmin/jlw/CIM/BimCoordination.vue
Normal file
@ -0,0 +1,58 @@
|
||||
<template>
|
||||
<Card title="BIM协同">
|
||||
<div class="table">
|
||||
<div class="row">
|
||||
<div class="td">规划报批</div>
|
||||
<div class="td">施工图审查</div>
|
||||
<div class="td">竣工验收</div>
|
||||
</div>
|
||||
<div class="row" v-for="(row, i) in list" :key="i">
|
||||
<div class="td" :class="{ red: !row[0] }">{{ row[0] ? '符合' : '不符合' }}</div>
|
||||
<div class="td" :class="{ red: !row[1] }">{{ row[1] ? '符合' : '不符合' }}</div>
|
||||
<div class="td" :class="{ red: !row[2] }">{{ row[2] ? '已验收' : '未验收' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Card from '../components/Card.vue'
|
||||
// import { modelReport } from '@/assets/json/jlw/bim.json'
|
||||
export default {
|
||||
components: { Card },
|
||||
mounted() {
|
||||
console.log(this.list, '收待发放')
|
||||
},
|
||||
data() {
|
||||
// return { modelReport }
|
||||
const list = new Array(6).fill(0).map((item, index) => new Array(3).fill(0).map(() => (index === 3 ? 0 : 1)))
|
||||
return {
|
||||
list
|
||||
}
|
||||
},
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.table {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.row {
|
||||
margin-bottom: 20px;
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
.td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
&.red {
|
||||
color: #ff6c7f;
|
||||
}
|
||||
}
|
||||
&:nth-child(1) {
|
||||
font-size: 14px;
|
||||
color: #67d4d9;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
45
src/views/projectAdmin/jlw/CIM/Model.vue
Normal file
45
src/views/projectAdmin/jlw/CIM/Model.vue
Normal file
@ -0,0 +1,45 @@
|
||||
<template>
|
||||
<Card :title="title">
|
||||
<JNestedRingChart :title="{ y: '35%', text: '33', subTitle: '问题总数' }" :series="series" />
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Card from '../components/Card.vue'
|
||||
import JNestedRingChart from '../jChart/pie/JNestedRingChart.vue'
|
||||
export default {
|
||||
components: { Card, JNestedRingChart },
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const data = [
|
||||
{ value: 45, name: '未查看' },
|
||||
{ value: 5, name: '已查看' },
|
||||
{ value: 15, name: '已解决' }
|
||||
]
|
||||
if (this.title !== '模型内审') {
|
||||
data.push({ value: 10, name: '已回复' })
|
||||
}
|
||||
return {
|
||||
series: [
|
||||
{
|
||||
roseType: 'area',
|
||||
radius: ['58%', '54%'],
|
||||
color: ['#0B1B35', '#244D8F'],
|
||||
data: [30, 40, 30, 40]
|
||||
},
|
||||
{
|
||||
color: ['#3CABFC', '#FF6C7F', '#6EE4F0', '#557EED'],
|
||||
data
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped></style>
|
||||
@ -1,7 +1,21 @@
|
||||
<template>
|
||||
<!-- CIM -->
|
||||
<div class="container">
|
||||
<div class="leftBox">
|
||||
<div class="charts">
|
||||
<div class="chart">
|
||||
<BimCoordination />
|
||||
</div>
|
||||
<div class="chart">
|
||||
<Model title="模型内审" />
|
||||
</div>
|
||||
<div class="chart">
|
||||
<Model title="模型外审" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bim">
|
||||
<iframe src="/bim.html" frameborder="0" width="100%" height="100%" id="iframe" @load="load"></iframe>
|
||||
</div>
|
||||
<!-- <div class="leftBox">
|
||||
<div class="leftTop">
|
||||
<leftTop title="模型" />
|
||||
</div>
|
||||
@ -19,23 +33,27 @@
|
||||
<div class="rightCenter">
|
||||
<rightCenter title="设计变更" />
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import leftTop from './leftTop'
|
||||
import leftCenter from './leftCenter'
|
||||
import rightTop from './rightTop'
|
||||
import rightCenter from './rightCenter'
|
||||
// import leftTop from './leftTop'
|
||||
// import leftCenter from './leftCenter'
|
||||
// import rightTop from './rightTop'
|
||||
// import rightCenter from './rightCenter'
|
||||
import BimCoordination from './BimCoordination'
|
||||
import Model from './Model'
|
||||
|
||||
import { projectJlwBimListApi, getJlwTokenApi } from '@/assets/js/api/project'
|
||||
export default {
|
||||
components: {
|
||||
leftTop,
|
||||
leftCenter,
|
||||
rightTop,
|
||||
rightCenter
|
||||
// leftTop,
|
||||
// leftCenter,
|
||||
// rightTop,
|
||||
// rightCenter
|
||||
BimCoordination,
|
||||
Model
|
||||
},
|
||||
mounted() {
|
||||
this.iframe = document.getElementById('iframe')
|
||||
@ -76,59 +94,81 @@ export default {
|
||||
|
||||
<style lang="less" scoped>
|
||||
.container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #07162b;
|
||||
background-image: url('~@/assets/images/projectImg/Bimbgc.png');
|
||||
}
|
||||
.topBox {
|
||||
height: 20%;
|
||||
}
|
||||
.leftBox {
|
||||
position: relative;
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
.leftTop {
|
||||
height: 33%;
|
||||
margin-bottom: 15px;
|
||||
.charts {
|
||||
width: 23%;
|
||||
height: calc(100% - 8px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
.chart {
|
||||
height: 32%;
|
||||
}
|
||||
}
|
||||
.leftCenter {
|
||||
height: 33%;
|
||||
margin-bottom: 15px;
|
||||
.bim {
|
||||
padding: 8px;
|
||||
width: 75%;
|
||||
height: 97%;
|
||||
border: 1px solid #0081c3;
|
||||
}
|
||||
.leftBottom {
|
||||
height: 33%;
|
||||
}
|
||||
z-index: 2;
|
||||
}
|
||||
.centerBox {
|
||||
position: absolute;
|
||||
margin-right: 15px;
|
||||
padding-left: 6px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
line-height: 30px;
|
||||
font-size: 18px;
|
||||
color: #6ee4f0;
|
||||
}
|
||||
// .container {
|
||||
// position: relative;
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
// background-color: #07162b;
|
||||
// background-image: url('~@/assets/images/projectImg/Bimbgc.png');
|
||||
// }
|
||||
// .topBox {
|
||||
// height: 20%;
|
||||
// }
|
||||
// .leftBox {
|
||||
// position: relative;
|
||||
// width: 25%;
|
||||
// height: 100%;
|
||||
// margin-right: 15px;
|
||||
// margin-left: 15px;
|
||||
// .leftTop {
|
||||
// height: 33%;
|
||||
// margin-bottom: 15px;
|
||||
// }
|
||||
// .leftCenter {
|
||||
// height: 33%;
|
||||
// margin-bottom: 15px;
|
||||
// }
|
||||
// .leftBottom {
|
||||
// height: 33%;
|
||||
// }
|
||||
// z-index: 2;
|
||||
// }
|
||||
// .centerBox {
|
||||
// position: absolute;
|
||||
// margin-right: 15px;
|
||||
// padding-left: 6px;
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
// line-height: 30px;
|
||||
// font-size: 18px;
|
||||
// color: #6ee4f0;
|
||||
// }
|
||||
|
||||
.rightBox {
|
||||
position: relative;
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
.rightTop {
|
||||
height: 33%;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.rightCenter {
|
||||
height: 33%;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
z-index: 2;
|
||||
}
|
||||
// .rightBox {
|
||||
// position: relative;
|
||||
// width: 25%;
|
||||
// height: 100%;
|
||||
// .rightTop {
|
||||
// height: 33%;
|
||||
// margin-bottom: 15px;
|
||||
// }
|
||||
// .rightCenter {
|
||||
// height: 33%;
|
||||
// margin-bottom: 15px;
|
||||
// }
|
||||
// z-index: 2;
|
||||
// }
|
||||
</style>
|
||||
|
||||
@ -36,24 +36,24 @@ export default {
|
||||
data() {
|
||||
return { JLineChart: null }
|
||||
},
|
||||
watch:{
|
||||
xData:{
|
||||
handler(newVal,oldVal){
|
||||
if(newVal != oldVal){
|
||||
this.createChart();
|
||||
}
|
||||
},
|
||||
deep:true,
|
||||
immediate:true,
|
||||
watch: {
|
||||
xData: {
|
||||
handler(newVal, oldVal) {
|
||||
if (newVal != oldVal) {
|
||||
this.createChart()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
},
|
||||
series:{
|
||||
handler(newVal,oldVal){
|
||||
if(newVal != oldVal){
|
||||
this.createChart();
|
||||
}
|
||||
},
|
||||
deep:true,
|
||||
immediate:true,
|
||||
series: {
|
||||
handler(newVal, oldVal) {
|
||||
if (newVal != oldVal) {
|
||||
this.createChart()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -62,6 +62,7 @@ export default {
|
||||
|
||||
const fmtSeries = (series => {
|
||||
return series.map(item => ({
|
||||
name: item.name,
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
data: item.data,
|
||||
@ -88,6 +89,12 @@ export default {
|
||||
fontWeight: 'normal'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
left: 20,
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: grid[0],
|
||||
right: grid[1],
|
||||
|
||||
@ -14,10 +14,10 @@
|
||||
</div>
|
||||
<div class="centerBox">
|
||||
<div class="rightTop">
|
||||
<rightTop title="检查统计" />
|
||||
<rightTop title="安全问题" />
|
||||
</div>
|
||||
<div class="rightBottom">
|
||||
<rightBottom title="隐患趋势" />
|
||||
<rightBottom title="问题趋势" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<div class="info">
|
||||
<vue-scroll>
|
||||
<div class="info-item" v-for="(item, index) in activityList" :key="index">
|
||||
{{ `${item.rectifyPeopleAme} 有一条 ${status[item.state]} 的问题` }}
|
||||
{{ `${item.rectifyPeopleAme}有一条${status[item.state]}的问题` }}
|
||||
</div>
|
||||
</vue-scroll>
|
||||
<div v-if="!activityList.length">无数据</div>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<JNestedRingChart :title="{ text: totalNum, subTitle: '问题总数', y: '35%' }" :series="series" :legend="legend" />
|
||||
<JNestedRingChart :title="{ text: totalNum, subTitle: '问题总数', y: '35%' }" :series="series" />
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
@ -38,12 +38,18 @@ export default {
|
||||
const totals = res.result.total
|
||||
this.series = [
|
||||
{
|
||||
color: ['#FE6C7F', '#786FF0', '#5CE2F6'],
|
||||
color: ['#3DACFE', '#6DE4F0', '#FE6C7F'],
|
||||
data: [
|
||||
{ value: totals.weekInspectNum, name: '周检' },
|
||||
{ value: totals.monthInspectNum, name: '月检' },
|
||||
{ value: totals.otherInspectNum, name: '其他' }
|
||||
]
|
||||
},
|
||||
{
|
||||
roseType: 'area',
|
||||
radius: ['58%', '54%'],
|
||||
color: ['#0B1B35', '#244D8F'],
|
||||
data: [30, 40, 30, 40]
|
||||
}
|
||||
]
|
||||
this.totalNum = totals.totalNum
|
||||
@ -57,16 +63,16 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
legend() {
|
||||
const data = (this.series[0] || []).data || []
|
||||
const formatter = name => {
|
||||
const value = ((data.filter(item => item.name === name) || [])[0] || {}).value
|
||||
return `${name} ${value}`
|
||||
}
|
||||
return {
|
||||
formatter
|
||||
}
|
||||
}
|
||||
// legend() {
|
||||
// const data = (this.series[0] || []).data || []
|
||||
// const formatter = name => {
|
||||
// const value = ((data.filter(item => item.name === name) || [])[0] || {}).value
|
||||
// return `${name} ${value}`
|
||||
// }
|
||||
// return {
|
||||
// formatter
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -76,7 +76,6 @@ export default {
|
||||
margin-bottom: 5px;
|
||||
padding-bottom: 5px;
|
||||
color: #6ee4f0;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
&.tbody {
|
||||
height: calc(100% - 42px);
|
||||
|
||||
@ -17,9 +17,10 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
xData: ['地理老师', '地理老师', '地理老师', '地理老师', '地理老师', '地理老师', '地理老师', '地理老师', '地理老师', '地理老师'],
|
||||
xData: new Array(10).fill('12-24'),
|
||||
series: [
|
||||
{
|
||||
name: '新增隐患',
|
||||
data: [100, 235, 232, 532, 112, 532, 449, 269, 998, 33],
|
||||
areaColor: ['rgba(250, 201, 21, .3)', 'rgba(250, 201, 21, .1)'],
|
||||
emphasis: {
|
||||
@ -29,6 +30,7 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '消除隐患',
|
||||
data: [22, 432, 44, 55, 123, 433, 369, 269, 436, 203],
|
||||
areaColor: ['rgba(255, 108, 127, .3)', 'rgba(255, 108, 127, .1)'],
|
||||
emphasis: {
|
||||
@ -38,6 +40,7 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '未消除隐患',
|
||||
data: [655, 111, 224, 152, 65, 541, 334, 556, 326, 203],
|
||||
areaColor: ['rgba(102, 212, 224, .3)', 'rgba(102, 212, 224, .1)'],
|
||||
emphasis: {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user