Merge branch 'dev-yjl' into 'shenzhen-dev'

中建四局页面修改-安全管理页面细节调整

See merge request !40
This commit is contained in:
yjlHub 2022-10-20 11:20:41 +08:00
commit 6b45d5dcba
25 changed files with 334 additions and 38 deletions

View File

@ -74,9 +74,20 @@ export default {
subtext: title.subTitle,
subtextStyle: {
color: "rgba(255, 255, 255, 0.8)",
fontSize: 13
fontSize: 16
}
},
//
legend: [{
selectedMode:true, // false
top: '30%',
left: 'center',
textStyle: { //
fontSize: 14,
color: '#fff'
},
data: ['其它攻击数','未知攻击数']
}],
grid: {
right: 0
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -6,21 +6,25 @@
</div>
<div class="right3">
<div v-show="0 === number" ref="centerChart" class="centerChart" id="right2"></div>
<div class="right4" v-show="1 === number"><p><img src="@/views/projectAdmin/fourEngin/assets/images/common/video_bg.jpg"></p></div>
<div class="right4" v-show="1 === number">
<!-- <p><img src="@/views/projectAdmin/fourEngin/assets/images/common/video_bg.jpg"></p> -->
<videoPhoto class="video"></videoPhoto>
</div>
</div>
</div>
</template>
<script>
import videoPhoto from '@/views/projectAdmin/fourEngin/components/videoPhotoTwo'
// import centerTops from '@/views/projectAdmin/jlw/envirManage/centerTop'
import { environmentDevList } from "@/assets/js/api/environmentManage";
import { getRealTimeDustNoiseDataApi } from "@/assets/js/api/environmentManage";
import echarts from "echarts4";
export default {
// components:{
// centerTops
// },
components:{
videoPhoto
},
data() {
return {
number: 0,
@ -440,13 +444,14 @@ export default {
}
.right4{
width: 100%;
width: 100%;
height: 100%;
img{
display: inline-block;
.video{
margin-bottom: -50px;
display: inline-block;
margin-left: 25px;
width: 850px;
height: 494px;
height: 550px;
}
}
}

View File

@ -43,10 +43,10 @@ export default {
width: 25%;
height: 100%;
.top {
height: 35%;
height: 28%;
}
.center {
height: 33%;
height: 40%;
}
.bottom {
height: 22%;

View File

@ -45,7 +45,7 @@ export default {
height: 100%;
display: flex;
.right {
margin-top: 5px;
margin-top: -12px;
width: 100%;
height: 100%;
margin-right: 10%;
@ -56,7 +56,7 @@ export default {
height: 80%;
}
.text {
margin-top: -30px;
margin-top: 10px;
width: 100%;
height: 20%;
text-align: center;

View File

@ -0,0 +1,259 @@
<template>
<!-- 视频宣传 -->
<div class="videoPhoto">
<div class="titleTxt">
<div>
<el-button type="text" :class="show? '' : 'changeCol'" class="video" @click="toVideo()"></el-button>
<!-- <el-button type="text" :class="show? 'changeCol' : ''" class="image" @click="toImage()">效果图</el-button> -->
</div>
<!-- <i class="el-icon-refresh"></i> -->
</div>
<video v-if="!show" :src="$store.state.FILEURL + projectData.videoUrl" class="topInner videos" autoplay controls loop></video>
<!-- src="@/assets/images/projectImg/videoPic.png" -->
<!-- 初次上传视频 -->
<div class="placeholderBox placeholderBox2" v-if="projectData.videoUrl == ''">
<img src="@/assets/images/noData3.png" alt srcset />
<p>
{{ $t('message.videoManage.empty') }},
<el-upload
style="display: inline-block"
class="upload-demo"
:action="$store.state.UPLOADURL"
:on-success="(file) => handleSuccess(file, 1)"
:on-error="(file) => handleError(file, 1)"
:beforeUpload="(file) => handleBeforeUpload(file, 1)"
name="files"
:show-file-list="false"
>
<!-- 点我上传 -->
<span>{{ $t('message.companyDiagram.uploadImg') }}</span>
</el-upload>
</p>
</div>
<!-- 更换视频 -->
<el-upload
v-if="projectData.videoUrl"
class="changeVideoBox"
:src="$store.state.FILEURL + projectData.videoUrl"
:action="$store.state.UPLOADURL"
:on-success="(file) => handleSuccess(file, 1)"
:on-error="(file) => handleError(file, 1)"
:beforeUpload="(file) => handleBeforeUpload(file, 1)"
name="files"
:show-file-list="false"
>
<span class="changeVideoBtn">{{ $t('message.companyDiagram.changeVideo') }}</span>
</el-upload>
<!-- 更换图片 -->
<div @mouseenter="showChangeImg = true" @mouseleave="showChangeImg = false" class="img">
<el-upload
v-if="showChangeImg"
class="changeImg"
:action="$store.state.UPLOADURL"
:on-success="(file) => handleSuccessTwo(file, 1)"
:on-error="(file) => handleError(file, 1)"
:beforeUpload="(file) => handleBeforeUpload(file, 1)"
name="files"
:show-file-list="false"
>
<span style="border: 1px solid #ffffff; padding: 5px">{{ $t('message.companyDiagram.changeImg') }}</span>
</el-upload>
<img v-if="show" class="imgStyle" :src="this.$store.state.FILEURL + imgUrl" alt />
</div>
</div>
</template>
<script>
import { getProjectDetail, editProjectInfo } from '@/assets/js/api/baseInfo.js'
import { queryBySnData, eidtProjectShowConfig } from '@/assets/js/api/projectSummary.js'
export default {
data() {
return {
show: false,
projectData: {
videoUrl: ''
},
imgUrl: '', //
showChangeImg: false, //
fullscreenLoading: null
}
},
props: {
title: {
type: String,
default: 'default title'
}
},
created() {
this.getDataDateils()
this.getQueryBySnData()
},
methods: {
toVideo() {
this.show = false
},
// toImage() {
// this.show = true
// },
//
getDataDateils() {
let data = {
projectSn: this.$store.state.projectSn
}
console.log('当前的参数', data)
getProjectDetail(data).then(res => {
if (res.code == 200) {
this.projectData = res.result
console.log('projectData', this.projectData)
}
})
},
//
getQueryBySnData() {
queryBySnData({
projectSn: this.$store.state.projectSn,
showType: 3
}).then(res => {
// console.log('------',res.result)
this.imgUrl = res.result.configValue
})
},
//
saveEffectData(url) {
// let configValue = JSON.stringify(url);
let data = {
projectSn: this.$store.state.projectSn,
showType: 3,
showTitle: this.$t('message.companyDiagram.resultImg'), //''
configValue: url
}
eidtProjectShowConfig(data).then(res => {
if (res.code == 200) {
this.getQueryBySnData()
}
})
},
//
saveOrDeleteVideo(url) {
editProjectInfo({
projectId: this.projectData.projectId,
videoUrl: url
}).then(res => {
this.$message.success(this.$t('message.companyDiagram.uploadSuccess')) //""
this.projectData.videoUrl = url
})
},
//
handleBeforeUpload(file, type) {
console.log(file)
let fileType = file.type.split('/')[0]
if (fileType == 'video' || fileType == 'image') {
this.fullscreenLoading = this.$loading({
lock: true,
text: this.$t('message.companyDiagram.uploadHint'), // ""
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
return true
} else {
this.$message.error(this.$t('message.companyDiagram.uploadHint2')) //""
return false
}
},
//
handleError(file, type) {
this.fullscreenLoading.close()
this.$message.error(this.$t('message.companyDiagram.uploadError')) //""
},
//
handleSuccess(file, type) {
console.log('上传成功了吗', file)
if (file.code == 200 || file.status == 'SUCCESS') {
console.log(file)
var url = file.data[0].imageUrl
this.saveOrDeleteVideo(url)
}
this.fullscreenLoading.close()
},
handleSuccessTwo(file, type) {
if (file.code == 200 || file.status == 'SUCCESS') {
console.log(file)
var url = file.data[0].imageUrl
this.imgUrl = url
console.log('--------', this.imgUrl)
this.saveEffectData(url)
}
this.fullscreenLoading.close()
}
}
}
</script>
<style lang="less" scoped>
.videoPhoto {
box-sizing: border-box;
padding-top: 6px;
width: 100%;
height: 100%;
// border: 1px solid #0081c3;
.titleTxt {
// height: 30px;
// box-sizing: border-box;
// padding: 0 10px;
// display: flex;
// justify-content: space-between;
// align-items: center;
// font-size: 18px;
// color: #6ee4f0;
// cursor: pointer;
}
.topInner {
width: calc(100% - 33px);
height: calc(100% - 62px);
margin: -24px 0 15px 15px;
}
.video,
.image {
font-size: 18px;
color: #6ee4f0;
margin-top: 5px;
margin-left: 10px;
}
.changeCol {
color: white;
}
.changeVideoBtn {
border: 1px solid rgba(255, 255, 255, 0.5);
padding: 3px 5px;
font-size: 14px;
cursor: pointer;
position: absolute;
left: 50%;
top: 45%;
display: none;
transform: translate(-50%, -50%);
}
.videos:hover + .changeVideoBox .changeVideoBtn,
.changeVideoBox:hover .changeVideoBtn {
display: block;
}
.img {
width: 100%;
height: 100%;
.imgStyle {
width: 98%;
height: 88%;
margin-left: 1%;
}
.changeImg {
position: absolute;
left: 50%;
top: 45%;
}
}
}
</style>

View File

@ -4,7 +4,7 @@
<div class="dllm">
<div class="chart">
<JRingChart
:title="{ text: '质量验收', subTitle: `${list.disposeTotal} 件`,fontSize: 14 }"
:title="{ text: '质量验收', subTitle: `${list.disposeTotal} 件`,fontSize: 18 }"
:color="['#6EE4F0', '#E7622A']"
:data="[{ value: list.disposeNum, name: '已验收' }, { value: list.noDisposeNum ,name: '未验收'}]"
:radius="['60%', '80%']"
@ -35,7 +35,7 @@
<div class="dllm">
<div class="chart">
<JRingChart
:title="{ text: '质量整改', subTitle: `${list.pollingTotal} 件`,fontSize: 14 }"
:title="{ text: '质量整改', subTitle: `${list.pollingTotal} 件`,fontSize: 18 }"
:color="['#6EE4F0', '#E7622A']"
:data="[{ value: list.pollingNum,name: '已整改' }, { value: list.noPollingNum,name: '未整改' }]"
:radius="['60%', '80%']"
@ -124,16 +124,19 @@ export default {
&::before {
content: '';
position: absolute;
top: 4px;
left: -4px;
top: 1px;
left: -10px;
width: 6px;
height: 6px;
border-radius: 50%;
}
&:nth-child(2)::before {
width: 12px;
height: 12px;
background-color: #6ee4ef;
}
&:nth-child(3)::before {
width: 12px;
height: 12px;
background-color: #e7622a;
}
.row {

View File

@ -61,11 +61,11 @@
</div>
<div class="tbody">
<vue-scroll>
<div class="row" v-for="i in 20" :key="i">
<div class="td">2022-09-28</div>
<div class="td">缪维彪</div>
<div class="td">钢筋班组</div>
<div class="td"><img :src="src" /></div>
<div class="row" v-for="(item,index) in imgList" :key="index">
<div class="td">{{item.time}}</div>
<div class="td">{{item.names}}</div>
<div class="td">{{item.team}}</div>
<div class="td"><img :src="item.src" /></div>
</div>
</vue-scroll>
</div>
@ -128,7 +128,21 @@ export default {
},
data() {
return {
src: require('../assets/images/common/bg_redCar.png')
imgList: [
{ src:require("../assets/images/common/bg_fmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_wmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_wmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_kmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_fmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_pmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_rmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_dmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_bmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_amk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_nmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
{ src:require("../assets/images/common/bg_nmk.png"),time:"2022-09-28", names:"缪维彪",team:"钢筋班组"},
]
}
}
}

View File

@ -4,7 +4,7 @@
<div class="thead">
<div class="row">
<div>抓拍照片</div>
<div>事件类型</div>
<div>报警类型</div>
<div>抓拍时间</div>
</div>
</div>
@ -30,10 +30,10 @@ export default {
data(){
return{
aiList:[
{ src:require("../assets/images/common/bg_redCar.png"),thingType:"垃圾车", time: "2022-06-15 15:30" },
{ src:require("../assets/images/common/bg_gayCar.png"),thingType:"渣土车", time: "2022-08-03 12:30" },
{ src:require("../assets/images/common/bg_BluCar.png"),thingType:"垃圾车", time: "2022-04-15 10:17" },
{ src:require("../assets/images/common/bg_redCar.png"),thingType:"渣土车", time: "2022-06-03 15:30" },
{ src:require("../assets/images/common/bg_smk.png"),thingType:"上班抽烟", time: "2022-01-23 15:30" },
{ src:require("../assets/images/common/bg_omk.png"),thingType:"未戴安全帽", time: "2022-01-23 15:30" },
{ src:require("../assets/images/common/bg_ymk.png"),thingType:"未穿反光衣", time: "2022-01-23 15:30" },
{ src:require("../assets/images/common/bg_ymk.png"),thingType:"未穿反光衣", time: "2022-01-23 15:30" },
]
}
}

View File

@ -4,7 +4,7 @@
<div class="dllm">
<div class="woria">
<JRingChart
:title="{ text: '安全隐患', subTitle: `${todayInspection.totalNum}件`, fontSize: 14 }"
:title="{ text: '安全隐患', subTitle: `${todayInspection.totalNum}件`, fontSize: 18 }"
:color="['#6EE4F0', '#E7622A']"
:data="[{ value: safetyPeril.rectificationNum, name:'已处理' }, { value: safetyPeril.noRectificationNum, name:'未处理' }]"
:radius="['60%', '85%']"
@ -35,7 +35,7 @@
<div class="dllm">
<div class="woria">
<JRingChart
:title="{ text: '今日巡检', subTitle: `${todayInspection.totalNum}件`, fontSize: 14 }"
:title="{ text: '今日巡检', subTitle: `${todayInspection.totalNum}件`, fontSize: 18 }"
:color="['#6EE4F0', '#E7622A']"
:data="[{ value: todayInspection.rectificationNum, name:'已巡检' }, { value: todayInspection.noRectificationNum, name:'未巡检' }]"
:radius="['60%', '85%']"
@ -183,16 +183,20 @@ export default {
&::before {
content: '';
position: absolute;
top: 4px;
left: -4px;
top: 1px;
left: -10px;
width: 6px;
height: 6px;
border-radius: 50%;
}
&:nth-child(2)::before {
width: 12px;
height: 12px;
background-color: #6ee4ef;
}
&:nth-child(3)::before {
width: 12px;
height: 12px;
background-color: #e7622a;
}
.row {
@ -237,12 +241,12 @@ export default {
line-height: 50px;
display: flex;
&.orange {
background: linear-gradient(90deg, #356f83, #213c4f);
//background: linear-gradient(90deg, #356f83, #213c4f);
&::before {
content: '';
width: 4px;
height: 100%;
background-color: #67d4d9;
// width: 4px;
// height: 100%;
// background-color: #67d4d9;
}
}
.td {