坪山沙湖项目页面修改

This commit is contained in:
jxj_yjl 2023-06-13 10:20:18 +08:00
parent 05fbf52874
commit 2c25949a95
17 changed files with 399 additions and 48 deletions

View File

@ -12,7 +12,8 @@
// COMPANY = 'neimenggu'//内蒙古项目
// COMPANY = 'zjsj'//中建四局
// COMPANY = 'zjwj'//中建五局
COMPANY = 'sccr'//四川成润
// COMPANY = 'sccr'//四川成润
COMPANY = 'pssh'//坪山沙湖项目
@ -24,7 +25,7 @@ var PROJECT = {
}
var PROJECT_TYPE = PROJECT.local_test
var PROJECT_TYPE = PROJECT.online_zjsj
var headerShow = true; // 是否显示头部
var tabsShow = true; // 是否显示tabs

View File

@ -124,3 +124,6 @@ export const getgetCo2RatioApi = data => get('/xmgl/doubleCarbon/getCo2Ratio',da
export const getMaterialTypeApi = data => get('/xmgl/materialType/list',data)
export const getDetailsStatisticsApi = data => get('/xmgl/materialDetails/detailsStatistics',data)
export const getDetailsStatisticsListApi = data => get('/xmgl/materialDetails/typeDeviationRatio',data)
//机器人管理
export const getrobotUrlApi = data => get('xmgl/project/getFmsMonitoringLargeScreenAccessUrl',data)

View File

@ -90,8 +90,9 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL = 'http://118.121.198.147:23232/'//港投(成润)正式
// axios.defaults.baseURL ='http://182.90.224.147:100/' //演示平台/
// axios.defaults.baseURL ='http://192.168.34.221:8070' //郭圣雄本地
axios.defaults.baseURL ='http://192.168.34.221:30002' //郭圣雄本地
axios.defaults.baseURL ='http://192.168.34.221:30015' //郭圣雄本地
// axios.defaults.baseURL ='http://192.168.34.221:12350/' //金林湾本地
// axios.defaults.baseURL ='http://61.145.163.135:12345' //坪山沙湖
} else if (process.env.NODE_ENV == 'debug') {

View File

@ -46,7 +46,13 @@ export default {
path: 'govComp',
name: '政企联合',
component: () => import('@/views/projectAdmin/fourEngin/govComp')
}
},
//坪山沙湖项目
{
path: 'robot',
name: '机器人管理',
component: () => import('@/views/projectAdmin/fourEngin/robot')
},
]
}

View File

@ -48,12 +48,12 @@ export default new Vuex.Store({
BASEURL: baseUrl
? baseUrl
: window.location.protocol + "//" + window.location.host + "/", //正式环境
UPLOADURL:
window.location.protocol +
"//" +
window.location.host +
"/upload/image", //正式环境
FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //正式环境
// UPLOADURL:
// window.location.protocol +
// "//" +
// window.location.host +
// "/upload/image", //正式环境
// FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //正式环境
//---------------------------------------------------------------------------------------------
// BASEURL: baseUrl
// ? baseUrl
@ -99,6 +99,8 @@ export default new Vuex.Store({
// FILEURL: 'http://182.90.224.147:15551/image/',//四川成润(内部线上)
// UPLOADURL: 'http://118.121.198.147:23232/upload/image',//四川成润(正式)
// FILEURL: 'http://118.121.198.147:23232/image/',//四川成润(正式)
UPLOADURL: 'http://192.168.34.221:30015/upload/image',//
FILEURL: 'http://192.168.34.221:30015/image/',//
ACCOUNTTYPE: [
"系统管理员",

View File

@ -1,7 +1,16 @@
<template>
<div class="cim">
<iframe
src="http://124.71.79.109/cim"
v-if="COMPANY=='zjsj'"
src="http://124.71.79.109/cim?projectId=1"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
<iframe
v-if="COMPANY=='pssh'"
src="http://124.71.79.109/cim?projectId=2"
frameborder="0"
width="100%"
height="100%"
@ -17,7 +26,12 @@ import RightBottom from './rightBottom.vue'
import Center from './center.vue'
import LeftBottom from './leftBottom.vue'
export default {
components: { LeftTop, RightTop, RightBottom,Center ,LeftBottom}
components: { LeftTop, RightTop, RightBottom,Center ,LeftBottom},
data(){
return{
COMPANY:COMPANY,
}
}
}
</script>

View File

@ -2,7 +2,16 @@
<div class="container">
<div class="image">
<iframe
src="http://124.71.79.109/mainModel?type=0"
v-if="COMPANY=='zjsj'"
src="http://124.71.79.109/mainModel?type=0&projectId=1"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
<iframe
v-if="COMPANY=='pssh'"
src="http://124.71.79.109/mainModel?type=0&projectId=2"
frameborder="0"
width="100%"
height="100%"
@ -22,6 +31,7 @@ export default {
components: { LeftThree },
data() {
return {
COMPANY:COMPANY,
projectSn: "",
//
open: true,

View File

@ -8,7 +8,7 @@
<span class="value">{{ item.value }}</span>
</div> -->
<div class="list-item">
<div>项目名称中建四局金融城东区ATO91429地块项目</div>
<div>项目名称中建四局科创大厦项目</div>
<div>项目地址广州市金融城东区</div>
<div>占地面积6745</div>
<div>建筑面积104402</div>

View File

@ -3,17 +3,19 @@
<div class="header">
<div class="info">
<div class="between">
<div class="project">中建科创大厦项目</div>
<div class="project" v-if="COMPANY=='zjsj'">中建科创大厦项目</div>
<div class="project" v-if="COMPANY=='pssh'">坪山沙湖应急隔离场所项目</div>
<div class="time-week">
<div class="time">{{currentTime}}</div>
<div class="week">{{weekday}}</div>
</div>
<div class="weather-date">
<div class="weather">多云 32</div>
<div class="date">{{monthAndDay}}</div>
<div class="date" style="width: 85px;">{{monthAndDay}}</div>
</div>
</div>
<div class="title">中建四局数字建造管控平台</div>
<div class="title" v-if="COMPANY=='zjsj'">中建四局数字建造管控平台</div>
<div class="title" v-if="COMPANY=='pssh'">坪山沙湖保障性租赁住房项目</div>
<div class="between">
<div class="company"></div>
<div class="exit" @click="$router.push('/projectIndex')"></div>
@ -43,6 +45,7 @@ import { getWeatherDataApi } from "@/assets/js/api/environmentManage";
export default {
data(){
return{
COMPANY:COMPANY,
currentTime:"",
monthAndDay:"",
weekday:"",
@ -117,17 +120,17 @@ export default {
.between {
box-sizing: border-box;
padding: 16px 30px 0;
width: 450px;
width: 545px;
height: 100%;
text-align: center;
display: flex;
align-items: center;
.project {
font-size: 21px;
font-size: 18px;
color: #66d4d9;
}
.time-week {
margin: 0 45px;
margin: 0 25px;
font-size: 12px;
.time {
margin-bottom: 2px;
@ -150,7 +153,7 @@ export default {
}
}
.company {
margin-left: 50px;
margin-left: 135px;
margin-right: auto;
width: 246px;
height: 28px;

View File

@ -16,7 +16,16 @@
</div>
<div class="left2">
<iframe
src="http://124.71.79.109/mainModel?type=1"
v-if="COMPANY=='zjsj'"
src="http://124.71.79.109/mainModel?type=0&projectId=1"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
<iframe
v-if="COMPANY=='pssh'"
src="http://124.71.79.109/mainModel?type=0&projectId=2"
frameborder="0"
width="100%"
height="100%"
@ -65,6 +74,7 @@ export default {
},
data() {
return {
COMPANY:COMPANY,
projectData: {
constructionStage: 10,
},

View File

@ -48,30 +48,54 @@
<video
:src="$store.state.FILEURL + videoUrl"
style="width: 100%; height: 100%"
ref="vueMiniPlayer"
autoplay
id="video"
ref="videoElement"
controls
loop
autoplay
muted
></video>
<!-- <video class="topInner" :src="$store.state.FILEURL + videoUrl"></video> -->
</div>
</div>
</template>
<script>
import flvjs from 'flv.js'
import { getUavVideoApi } from '@/assets/js/api/zhongjianFourth'
export default {
data() {
return {
vloading: false,
COMPANY: COMPANY,
shootingTime: '', //
uavList: [], //
videoUrl: '' //
videoUrl: '', //
videoLodading: false,
}
},
created() {
this.credad()
},
methods: {
playVideo(liveUrl) {
this.vloading = true;
if (flvjs.isSupported()) {
this.vloading = true;
let player = null;
let videoElement = document.getElementById("video");
player = flvjs.createPlayer({
type: "flv", //=> flv mp4
isLive: true, //=>
hasAudio: false, //=>
url: liveUrl, //=>
});
player.attachMediaElement(videoElement); //=> DOM
player.load();
player.play();
} else {
this.$message.error('不支持flv格式视频')
}
this.vloading = false;
},
//
credad(val) {
let data = ''
@ -83,13 +107,37 @@ export default {
shootingDate: data
}).then((res) => {
this.uavList = res.result
if (this.uavList[0].videoUrl != '') {
this.videoUrl = this.uavList[0].videoUrl
} else if (this.uavList[0].liveUrl != '') {
this.playVideo(this.uavList[0].liveUrl)
}
})
},
//
checkM(item) {
console.log('item0,', item);
if (this.COMPANY == 'pssh') {
if (item.videoUrl != '') {
this.videoUrl = item.videoUrl
console.log('视频----', this.videoUrl);
} else if (item.liveUrl != '') {
this.$nextTick(() => {
this.playVideo(item.liveUrl)
})
console.log('直播视频----', this.liveUrl);
}
} else {
this.videoUrl = item.videoUrl
}
},
},
destroyed() {
player.attachMediaElement()
player.load();
player.play();
}
}
</script>

View File

@ -0,0 +1,41 @@
<template>
<div class="robotBox">
<iframe
:src=url
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
</div>
</template>
<script>
import { getrobotUrlApi } from '@/assets/js/api/zhongjianFourth'
export default {
data(){
return{
url:'',
}
},
created() {
this.getUrl()
},
methods: {
getUrl() {
getrobotUrlApi({ projectSn: this.$store.state.projectSn }).then(res => {
this.url=res.result.url
console.log('机器人 this.url', this.url);
})
}
}
}
</script>
<style lang="less" scoped>
.robotBox {
width: 100%;
height: 100%;
}
</style>

View File

@ -0,0 +1,25 @@
<template>
<div class="psshBox">
<iframe
src="http://3d.keehang.com/w?s=vUBFbi"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
</div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
.psshBox{
width: 100%;
height: 100%;
}
</style>

View File

@ -0,0 +1,24 @@
<template>
<div class="eagleEyeBox">
<iframe
src="http://3d.keehang.com/w?s=vUBFbi"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
</div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
.eagleEyeBox{
width: 100%;
height: 100%;
}
</style>

View File

@ -1,6 +1,7 @@
<template>
<!-- 安全管理 -->
<div class="security">
<div class="security1" v-if="COMPANY=='zjsj'">
<div class="left">
<div class="center"><LeftCenter /></div>
<div class="top"><LeftTop /></div>
@ -15,9 +16,47 @@
<div class="rightbottom"> <RightBottom /> </div>
</div> -->
</div>
<div class="security2" v-else>
<div
style="position: absolute;"
class="changeTab"
:class="[currentIndex == index ? `show${index}` : `changeTab${index}`]"
v-for="(item, index) in tabList"
:key="index"
@click="change(index)"
>
{{ item.name }}
</div>
<div class="left" v-show="currentIndex == 0">
<div class="center"><LeftCenter /></div>
<div class="top"><LeftTop /></div>
<div class="bottom"><LeftBottom /></div>
</div>
<div class="center" v-show="currentIndex == 0">
<div class="top"><CenterTopPsshTwp /></div>
<div class="bottom"><CenterBottom /></div>
</div>
<div class="safeBox" v-show="currentIndex == 1">
<EagleEye></EagleEye>
</div>
<!-- <div class="safeMarnge" v-show="currentIndex == 0"></div>
<div class="yyBox" v-if="currentIndex == 1">
<iframe
src="http://3d.keehang.com/w?s=vUBFbi"
frameborder="0"
width="100%"
height="100%"
id="iframe"
></iframe>
</div> -->
</div>
</template>
<script>
import EagleEye from './eagleEye.vue'
import CenterTopPsshTwp from './centerTopPsshTwo.vue'
import LeftTop from './leftTop.vue'
import LeftCenter from './leftCenter.vue'
import LeftBottom from './leftBottom.vue'
@ -26,14 +65,30 @@ import CenterBottom from './centerBottom.vue'
// import RightTop from './rightTop.vue'
// import RightBottom from './rightBottom.vue'
export default {
components: { LeftTop, LeftBottom, CenterTop, CenterBottom,LeftCenter,
components: {
LeftTop, LeftBottom, CenterTop, CenterBottom, LeftCenter,CenterTopPsshTwp,EagleEye
// RightTop,RightBottom
},
data() {
return {
currentIndex: 0,
tabList: [
{ name: "安全管理" },
{ name: "鹰眼" },
],
COMPANY: COMPANY,
}
},
methods:{
change(val) {
this.currentIndex = val;
},
}
}
</script>
<style lang="less" scoped>
.security {
.security1 {
width: 100%;
height: 100%;
display: flex;
@ -63,6 +118,7 @@ export default {
height: 35%;
}
}
// .right {
// width: 20%;
// height: 100%;
@ -75,5 +131,89 @@ export default {
// }
// }
}
.security2 {
width: 100%;
height: 90%;
display: flex;
.left {
width: 20%;
height: 100%;
.top {
height: 40%;
}
.bottom {
height: 35%;
}
.center {
height: 25%;
}
}
.center {
margin-left: 3%;
width: calc(79% - 40px);
height: 100%;
.top {
margin-top: 3%;
height: 60%;
}
.bottom {
height: 35%;
}
}
.changeTab {
line-height: 38px;
text-align: center;
z-index: 99;
cursor: pointer;
position: absolute;
}
.changeTab0 {
position: absolute;
// margin-top: -38px;
left: 40%;
width: 212px;
height: 38px;
background-image: url(../assets/temp/tab.png);
background-size: 100%;
background-repeat: no-repeat;
}
.changeTab1 {
position: absolute;
// margin-top: -38px;
left: 50%;
width: 212px;
height: 38px;
background-image: url(../assets/temp/tab.png);
background-size: 100%;
background-repeat: no-repeat;
}
.show0 {
position: absolute;
// margin-top: -38px;
left: 40%;
width: 212px;
height: 38px;
z-index: 98;
background-image: url(../assets/temp/untab.png);
background-size: 100%;
background-repeat: no-repeat;
}
.show1 {
position: absolute;
// margin-top: -38px;
left:50%;
width: 212px;
z-index: 98;
height: 38px;
background-image: url(../assets/temp/untab.png);
background-size: 100%;
background-repeat: no-repeat;
}
}
.safeBox{
margin-top: 3%;
width: 100%;
height: 104%;
}
</style>

View File

@ -24,7 +24,7 @@
</div>
</div>
<div class="centerBox">
<iframe src="/bim.html" frameborder="0" width="100%" height="100%" id="iframe" @load="load"></iframe>
<iframe src="/" frameborder="0" width="100%" height="100%" id="iframe" @load="load"></iframe>
</div>
<div class="rightBox">
<div class="rightTop">

View File

@ -99,9 +99,6 @@
<el-form-item
label="拍摄时间"
prop="shootingTime"
:rules="[
{ required: true, message: '请选择拍摄时间', trigger: 'blur' },
]"
>
<el-date-picker
v-model="workerInfo.shootingTime"
@ -112,11 +109,22 @@
</el-date-picker>
</el-form-item>
<el-form-item
label="上传内容"
class="zdy-radio-group-3rows"
>
<el-radio-group v-model="workerInfo.videoType">
<el-radio
:label="item.value"
v-for="(item, index) in isCreateNewUser"
:key="index"
>{{ item.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-show="workerInfo.videoType==2"
label="巡检视频"
prop="videoUrl"
:rules="[
{ required: true, message: '请上传巡检视频', trigger: 'blur' },
]"
>
<div class="videoUpload">
<el-upload
@ -158,6 +166,13 @@
</template>
</div>
</el-form-item>
<el-form-item
v-show="workerInfo.videoType==1"
label="直播地址"
prop="liveUrl"
>
<el-input placeholder="请输入地址" v-model="workerInfo.liveUrl"></el-input>
</el-form-item>
<div class="dialog-footer">
<el-button
class="cancleBtn"
@ -178,6 +193,7 @@
</div>
</el-dialog>
<!-- 视频播放 -->
<div class="video" style="position: absolute; top: 12%; left: 17%">
<video
v-if="isShow || player"
@ -219,6 +235,11 @@ import {
export default {
data() {
return {
COMPANY:COMPANY,
isCreateNewUser: [
{ label: '直播地址', value: 1 },
{ label: '上传视频', value: 2 }
],
type: '',
workerList: [], //
dialogVisible: false,
@ -229,7 +250,9 @@ export default {
name: '', //
shootingTime: '', //
videoUrl: '', //
projectSn: '' //sn
projectSn: '',//sn
liveUrl:'',//
videoType:1,//12
}, //
fileList: [],
player: '',