Merge branch 'dev-jack' into shenzhen-dev

This commit is contained in:
Jack 2022-08-23 10:46:01 +08:00
commit 5dda64433e
9 changed files with 251 additions and 93 deletions

View 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>

View 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>

View File

@ -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>

View File

@ -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],

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -76,7 +76,6 @@ export default {
margin-bottom: 5px;
padding-bottom: 5px;
color: #6ee4f0;
border-bottom: 1px solid #fff;
}
&.tbody {
height: calc(100% - 42px);

View File

@ -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: {