update code
parent
e5da4919b1
commit
5589649d9c
|
@ -5,7 +5,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
<title>北跨泾河-产发工程数字管理平台-大屏</title>
|
||||
<link rel="stylesheet" href="https://cdn.makalu.cc/css/element-ui/index.css">
|
||||
<link rel="stylesheet" href="css/largeScreenLayout.css">
|
||||
<link rel="stylesheet" href="css/largeScreenStyle.css">
|
||||
|
@ -14,13 +14,30 @@
|
|||
<script src="https://unpkg.com/element-ui@2.15.13/lib/index.js"></script>
|
||||
<script src="https://cdn.makalu.cc/js/jquery/3.5.1/jquery.min.js"></script>
|
||||
<script src="./js/echarts.min.js"></script>
|
||||
<script src="./js//mapmodle.js"></script>
|
||||
<!--
|
||||
<script crossorigin="anonymous" integrity="sha384-gb8mitZ44MWVFB3GKzmtx1OCjOh3Cj4mgusyTvNzl1Nu31l0em1FrApJindwVAe0"
|
||||
src="https://lib.baomitu.com/echarts/4.2.1/echarts.min.js"></script>
|
||||
-->
|
||||
<link rel="stylesheet" href="/cesium/Widgets/widgets.css">
|
||||
<script src="/cesium/jquery-3.0.0.min.js"></script>
|
||||
<script src="/cesium/Cesium.js?v=20230913"></script>
|
||||
<script src="/cesium/BIMGISEngine.js?v=20230920"></script>
|
||||
<script src="/cesium/initApi.js?v=20230920"></script>
|
||||
<script src="./js/mapmodle.js"></script>
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=6zAD8CIavtzWnkGg0a7roush5maGMIPn"></script>
|
||||
<script src="https://cdn.makalu.cc/js/echarts/china.js"></script>
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=6zAD8CIavtzWnkGg0a7roush5maGMIPn"></script>
|
||||
<!-- 请求依赖 -->
|
||||
<script src="https://cdn.makalu.cc/js/axios/axios.min.js"></script>
|
||||
<!-- rtmp 支持依赖 -->
|
||||
<script src="https://cdn.makalu.cc/js/videojs/5.19/video.min.js"></script>
|
||||
<!-- hls 支持依赖 -->
|
||||
<script src="https://cdn.makalu.cc/js/hls/hls.min.js"></script>
|
||||
<!-- h5steam 支持依赖 -->
|
||||
<script src="https://cdn.makalu.cc/js/platform/1.3.5/platform.js"></script>
|
||||
<script src="https://cdn.makalu.cc/js/h5splayer/h5splayer.js"></script>
|
||||
<script src="https://cdn.makalu.cc/js/h5splayer/h5splayerhelper.js"></script>
|
||||
|
||||
|
||||
<script src="https://cdn.makalu.cc/js/hkplug/jsencrypt.min.js"></script>
|
||||
<script src="https://cdn.makalu.cc/js/hkplug/jsWebControl-1.0.0.min.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
#webpack-dev-server-client-overlay{display: none;}
|
||||
</style>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
function (data) {
|
||||
if (Cesium.defined(data)) {
|
||||
if (Cesium.defined(data.obj) && data.obj instanceof Cesium.Cesium3DTileset) {
|
||||
console.log(data);
|
||||
//console.log(data);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
window.initMap=()=>{
|
||||
window.initMap=()=>{
|
||||
delete window.mapDefault
|
||||
delete window.mapApi
|
||||
delete window.mapOptions
|
||||
|
@ -36,6 +36,7 @@ window.mapDefault={
|
|||
"isOpenVR": false,
|
||||
"language": "zh-CN"
|
||||
};
|
||||
|
||||
window.mapApi = new API(window.mapDefault); //api对象后面调用接口要全程使用,控制好作用域
|
||||
|
||||
//导航体
|
||||
|
|
|
@ -60,7 +60,6 @@
|
|||
"http://106.12.253.67:10045/Tools/output/model/202211250957169703/root.glt",
|
||||
"3a07beae-5c1c-17d4-f0c2-63cf4e4416b9",
|
||||
(data) => {
|
||||
console.log(data)
|
||||
if (Cesium.defined(data)) {
|
||||
if (Cesium.defined(data.obj) && data.obj instanceof Cesium.Cesium3DTileset) {}
|
||||
}
|
||||
|
|
23
src/App.vue
23
src/App.vue
|
@ -1,5 +1,22 @@
|
|||
<template>
|
||||
<div id="app">
|
||||
<router-view/>
|
||||
<div id="app">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="1"></screen-header>
|
||||
<div>
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import './components/background_video'
|
||||
import './components/header'
|
||||
export default {
|
||||
mounted(){
|
||||
window.app=this;
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -186,8 +186,7 @@ var vms = Vue.component("amplify-bgqr", {
|
|||
data: [],
|
||||
}
|
||||
}
|
||||
axios.post("/system/alterationEndorseConfig/list1",{pageNum:1,pageSize:9999,projectId:this.projectId}).then(res=>{
|
||||
console.log(res.data)
|
||||
axios.post("/system/alterationEndorseConfig/list1",{pageNum:1,pageSize:9999,projectId:this.projectId}).then(res=>{
|
||||
let result = res.data
|
||||
if(result.code == 0){
|
||||
this.constructionNum = result.rows.filter(item=>item.alterationType == 0).length
|
||||
|
|
|
@ -82,8 +82,7 @@ var vms = Vue.component("amplify-jsfh", {
|
|||
var list = []
|
||||
res.data.data.forEach((item)=>{
|
||||
list.push(item.photo_url)
|
||||
})
|
||||
console.log(list)
|
||||
})
|
||||
this.list = list
|
||||
}
|
||||
}).catch(err => {
|
||||
|
@ -113,8 +112,7 @@ var vms = Vue.component("amplify-jsfh", {
|
|||
}else{
|
||||
this.costIndex = this.costIndex - 1
|
||||
}
|
||||
}
|
||||
console.log(this.costIndex)
|
||||
}
|
||||
$(this.$refs.rollImgMax).animate({scrollLeft:(this.number*width*this.costIndex)+'px'})
|
||||
this.direction = 'right'
|
||||
},
|
||||
|
|
|
@ -129,7 +129,7 @@ var vms = Vue.component("amplify-kjcx", {
|
|||
for(let k in tmp ){
|
||||
this.sciencelnnovateDataList.push(tmp[k])
|
||||
}
|
||||
console.log(this.sciencelnnovateDataList)
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
@ -93,8 +93,7 @@ var vms = Vue.component("amplify-sgbzgf", {
|
|||
this.interval = setInterval(this.scroll, 50);
|
||||
},
|
||||
methods: {
|
||||
openAmplify(){
|
||||
console.log(this.projectId)
|
||||
openAmplify(){
|
||||
this.show = true
|
||||
this.getBiaoZhun()
|
||||
},
|
||||
|
|
|
@ -59,8 +59,7 @@ var vms = Vue.component("amplify-fljgs", {
|
|||
//分类及工时情况
|
||||
getClassifyBarData() {
|
||||
axios.post(requestUrl + "getClassifyWorks?deptId=" + deptId + "&pageSize=4&projectId=" + JSON.parse(localStorage.getItem("data1")).jzgj, {}).then(res => {
|
||||
this.classifyBarData = [res.data.data.num, res.data.data.dayWorkTime, res.data.data.monthWorkTime];
|
||||
console.log(this.classifyBarData)
|
||||
this.classifyBarData = [res.data.data.num, res.data.data.dayWorkTime, res.data.data.monthWorkTime];
|
||||
this.showClassifyBarData = this.classifyBarData[0];
|
||||
this.getChartData()
|
||||
}).catch(err => {
|
||||
|
|
|
@ -132,7 +132,7 @@ var vms = Vue.component("amplify-sbyxzt", {
|
|||
})
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
//console.log(err);
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -155,8 +155,7 @@ var vms = Vue.component("amplify-sbyxzt", {
|
|||
name:'静止',
|
||||
value:'0'
|
||||
}];
|
||||
}
|
||||
console.log(array)
|
||||
}
|
||||
let dataArray = [];
|
||||
for(let i = 0;i<array.length;i++){
|
||||
if(array[i].name == "运行"){
|
||||
|
@ -166,8 +165,7 @@ var vms = Vue.component("amplify-sbyxzt", {
|
|||
}else {
|
||||
dataArray.push({"name":array[i].name,"value":array[i].value});
|
||||
}
|
||||
}
|
||||
console.log(dataArray)
|
||||
}
|
||||
that.typeDistributionData = dataArray;
|
||||
this.getChartData()
|
||||
}).catch(err => {
|
||||
|
|
|
@ -95,8 +95,7 @@ var vms = Vue.component("amplify-aqjy", {
|
|||
this.ljaqjy = 0;
|
||||
|
||||
}
|
||||
this.ljaqjy = res.data.zcrs + '';
|
||||
console.log(res.data.zcrs)
|
||||
this.ljaqjy = res.data.zcrs + '';
|
||||
var safetyEducationData = [];
|
||||
var safetyEducationData2 = [];
|
||||
// safetyEducationData.push({text:"培训通过率",value:(res.data.jspxrs*res.data.pxtgl/100).toFixed(0)});
|
||||
|
@ -128,8 +127,7 @@ var vms = Vue.component("amplify-aqjy", {
|
|||
var chChart = echarts.init(this.$refs.charts2);
|
||||
this.echart2(chChart, this.safetyEducationData2)
|
||||
},
|
||||
echart1(chChart, chartData) {
|
||||
console.log(chartData)
|
||||
echart1(chChart, chartData) {
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
@ -315,7 +313,6 @@ var vms = Vue.component("amplify-aqjy", {
|
|||
},
|
||||
//出勤情况-灰名单
|
||||
echart2(chChart, chartData) {
|
||||
console.log(chartData)
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
@ -339,15 +336,13 @@ var vms = Vue.component("amplify-aqjy", {
|
|||
}
|
||||
|
||||
var prop = []
|
||||
for (let j = 0; j < value.length; j++) {
|
||||
console.log(value)
|
||||
for (let j = 0; j < value.length; j++) {
|
||||
if (total == 0) {
|
||||
prop.push(0)
|
||||
} else {
|
||||
prop.push((value[j] / total * 100).toFixed(1))
|
||||
}
|
||||
}
|
||||
console.log(prop)
|
||||
}
|
||||
var unit = '人'
|
||||
if (this.unit) {
|
||||
unit = this.unit
|
||||
|
|
|
@ -215,8 +215,7 @@ var vms = Vue.component("amplify-gzzb", {
|
|||
var chChartBar = echarts.init(this.$refs.amplifyStyle);
|
||||
this.echartBar(chChartBar,this.typedata)
|
||||
},
|
||||
echartBar(chChart,chartData){
|
||||
console.log(chartData)
|
||||
echartBar(chChart,chartData){
|
||||
var that = this
|
||||
|
||||
let newPromise = new Promise((resolve) => {
|
||||
|
|
|
@ -146,8 +146,7 @@ var vms = Vue.component("amplify-rycqfb", {
|
|||
this.echart4(chChart,this.workData_5)
|
||||
},
|
||||
//出勤情况-白名单
|
||||
echart1(chChart,chartData){
|
||||
console.log(chartData)
|
||||
echart1(chChart,chartData){
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
@ -334,8 +333,7 @@ var vms = Vue.component("amplify-rycqfb", {
|
|||
})
|
||||
},
|
||||
//出勤情况-灰名单
|
||||
echart2(chChart,chartData){
|
||||
console.log(chartData)
|
||||
echart2(chChart,chartData){
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
@ -359,15 +357,13 @@ var vms = Vue.component("amplify-rycqfb", {
|
|||
}
|
||||
|
||||
var prop = []
|
||||
for (let j = 0; j < value.length; j++) {
|
||||
console.log(value)
|
||||
for (let j = 0; j < value.length; j++) {
|
||||
if(total == 0){
|
||||
prop.push(0)
|
||||
}else{
|
||||
prop.push((value[j]/total * 100).toFixed(1))
|
||||
}
|
||||
}
|
||||
console.log(prop)
|
||||
}
|
||||
var unit = '人'
|
||||
if(this.unit){
|
||||
unit = this.unit
|
||||
|
@ -524,8 +520,7 @@ var vms = Vue.component("amplify-rycqfb", {
|
|||
})
|
||||
},
|
||||
//出勤情况-临时人员
|
||||
echart3(chChart,chartData){
|
||||
console.log(chartData)
|
||||
echart3(chChart,chartData){
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
@ -712,8 +707,7 @@ var vms = Vue.component("amplify-rycqfb", {
|
|||
})
|
||||
},
|
||||
//出勤情况-在线人员
|
||||
echart4(chChart,chartData){
|
||||
console.log(chartData)
|
||||
echart4(chChart,chartData){
|
||||
var that = this
|
||||
let newPromise = new Promise((resolve) => {
|
||||
resolve()
|
||||
|
|
|
@ -130,7 +130,7 @@ var vms = Vue.component("amplify-spjk", {
|
|||
|
||||
var token = this.videoListData[0].videoList[0].token
|
||||
|
||||
console.log(token)
|
||||
|
||||
for (let i=0 ;i<data.length;i++){
|
||||
if(token==data[i].token){
|
||||
data[i].type = true
|
||||
|
|
|
@ -93,9 +93,7 @@ var vms = Vue.component("amplify-ghfw", {
|
|||
info.text = info.file_name
|
||||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[3];
|
||||
console.log(type)
|
||||
console.log(that.forData)
|
||||
that.forData = type[3];
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ var vms = Vue.component("amplify-jdsl", {
|
|||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[4];
|
||||
console.log(type)
|
||||
// console.log(that.forData)
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ var vms = Vue.component("amplify-lzgcjs", {
|
|||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[5];
|
||||
console.log(type)
|
||||
// console.log(that.forData)
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ var vms = Vue.component("amplify-sxzzjs", {
|
|||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[1];
|
||||
console.log(type)
|
||||
// console.log(that.forData)
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ var vms = Vue.component("amplify-tdjs", {
|
|||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[2];
|
||||
console.log(type)
|
||||
// console.log(that.forData)
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -69,7 +69,6 @@ var vms = Vue.component("amplify-xmdt", {
|
|||
},
|
||||
methods: {
|
||||
openAmplify() {
|
||||
console.log(this.modeltitle)
|
||||
this.show = true
|
||||
this.getData()
|
||||
},
|
||||
|
@ -95,9 +94,7 @@ var vms = Vue.component("amplify-xmdt", {
|
|||
info.text = info.file_name
|
||||
type[info.sub_type].push(info)
|
||||
}
|
||||
that.forData = type[0];
|
||||
console.log(type)
|
||||
console.log(that.forData)
|
||||
that.forData = type[0];
|
||||
that.forData.map(item=>this.datas.push(item.url))
|
||||
}).catch(err => {
|
||||
|
||||
|
|
|
@ -51,7 +51,6 @@ var vms = Vue.component("amplify-qysj", {
|
|||
let url2 = "https://szh.makalu.cc/system/qualityTarget/list1"
|
||||
$.post(url2,{},res => {
|
||||
that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id]
|
||||
console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]);
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -9,13 +9,13 @@ Vue.component("screen-header", {
|
|||
北跨泾河-产发工程数字管理平台
|
||||
</div>
|
||||
<div class="head-title-tab">
|
||||
<div :class="nav==1?'head-nav active':'head-nav'" @click="pageJump(1,'index.html','index.html')">项目概况</div>
|
||||
<div :class="nav==2?'head-nav active':'head-nav'" @click="pageJump(2,'projectDetail.html','projectDetail.html')">项目详情</div>
|
||||
<div :class="nav==3?'head-nav active':'head-nav'" @click="pageJump(3,'projectSafety.html','projectSafety.html')">安全管理</div>
|
||||
<div :class="nav==4?'head-nav active':'head-nav'" @click="pageJump(4,'projectQuality.html','projectQuality.html')">质量管理</div>
|
||||
<div :class="nav==5?'head-nav active':'head-nav'" @click="pageJump(5,'projectProgress.html','projectProgress.html')">进度管理</div>
|
||||
<div :class="nav==6?'head-nav active':'head-nav'" @click="pageJump(6,'projectVideo.html','projectVideo.html')">视频管理</div>
|
||||
<div :class="nav==7?'head-nav active':'head-nav'" @click="pageJump(7,'projectEngin.html','projectEngin.html')">工程管理</div>
|
||||
<div :class="nav==1?'head-nav active':'head-nav'" @click="pageJump(1,'#/')">项目概况</div>
|
||||
<div :class="nav==2?'head-nav active':'head-nav'" @click="pageJump(2,'#/detail')">项目详情</div>
|
||||
<div :class="nav==3?'head-nav active':'head-nav'" @click="pageJump(3,'#/safety')">安全管理</div>
|
||||
<div :class="nav==4?'head-nav active':'head-nav'" @click="pageJump(4,'#/quality')">质量管理</div>
|
||||
<div :class="nav==5?'head-nav active':'head-nav'" @click="pageJump(5,'#/progress')">进度管理</div>
|
||||
<div :class="nav==6?'head-nav active':'head-nav'" @click="pageJump(6,'#/video')">视频管理</div>
|
||||
<div :class="nav==7?'head-nav active':'head-nav'" @click="pageJump(7,'#/engin')">工程管理</div>
|
||||
</div>
|
||||
<div class="head-title-select" @mouseleave="hideScreenUlSel1" v-if="localStorage1">
|
||||
<div class="head-select">
|
||||
|
@ -43,21 +43,18 @@ Vue.component("screen-header", {
|
|||
<div class="head-title-time-con">{{time}}</div>
|
||||
</div>
|
||||
<div class="head-title-weather">
|
||||
<img src="images/weather.png">
|
||||
<span>晴</span>
|
||||
<span>11~25℃</span>
|
||||
<img :src="condCode">
|
||||
<span>{{condTxt}}</span>
|
||||
<span>{{temperature}}℃</span>
|
||||
</div>
|
||||
</div>
|
||||
<i v-if="1==2" class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 4px;right: 16px;" @click="toggleFullScreen">
|
||||
<i class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 4px;right: 16px;" @click="toggleFullScreen">
|
||||
<svg class="icon" v-if="!isFullScreen" style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304"><path d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" fill="" p-id="3305"></path></svg>
|
||||
<svg class="icon" v-else style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3952"><path d="M384 597.333333h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h153.6L17.066667 947.2c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0L341.333333 742.4v153.6c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z m358.4 85.333334h153.6c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V742.4l264.533333 264.533333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333L742.4 682.666667zM640 426.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H742.4L1006.933333 76.8c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0L682.666667 281.6V128c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667z m-256-341.333334c-25.6 0-42.666667 17.066667-42.666667 42.666667v153.6L76.8 8.533333C59.733333 0 25.6 0 8.533333 8.533333 0 25.6 0 59.733333 8.533333 76.8L281.6 341.333333H128c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" p-id="3953"></path></svg>
|
||||
</i>
|
||||
</div>
|
||||
`,
|
||||
props: {
|
||||
nav:{
|
||||
type:Number
|
||||
},
|
||||
props: {
|
||||
red:{
|
||||
type:String
|
||||
},
|
||||
|
@ -67,6 +64,7 @@ Vue.component("screen-header", {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
nav:1,
|
||||
dept1:'',
|
||||
dept2:'',
|
||||
showSel1:false,
|
||||
|
@ -80,14 +78,27 @@ Vue.component("screen-header", {
|
|||
selDept:'',
|
||||
localStorage1: JSON.parse(localStorage.getItem("data1")),
|
||||
localStorage2: JSON.parse(localStorage.getItem("data2")),
|
||||
isFullScreen:false
|
||||
isFullScreen:false,
|
||||
temperature:20,
|
||||
condTxt:'',
|
||||
condCode:'',
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getWeather();
|
||||
if(location.hash.indexOf("#/detail")>=0){this.nav=2;}
|
||||
else if(location.hash.indexOf("#/safety")>=0){this.nav=3;}
|
||||
else if(location.hash.indexOf("#/quality")>=0){this.nav=4;}
|
||||
else if(location.hash.indexOf("#/progress")>=0){this.nav=5;}
|
||||
else if(location.hash.indexOf("#/video")>=0){this.nav=6;}
|
||||
else if(location.hash.indexOf("#/engin")>=0){this.nav=7;}
|
||||
else{this.nav=1;}
|
||||
this.setTitle();
|
||||
this.timerID = setInterval(this.updateTime, 1000);
|
||||
this.updateTime();
|
||||
this.init()
|
||||
this.$api.dept.list().then(d=>{
|
||||
this.$root.hasInitHeader=true;
|
||||
this.depts=[{text:'产发集团',id:0},...(d?.data||[]).map(it=>{
|
||||
it.text=it.deptName;
|
||||
it.id=it.deptId;
|
||||
|
@ -95,9 +106,19 @@ Vue.component("screen-header", {
|
|||
})]
|
||||
this.deptChange();
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
methods: {
|
||||
getWeather(){
|
||||
let url=`https://widget-api.heweather.net/s6/plugin/view?key=fcd4fc1e48a144a483b7af74284229b8&location=CN101110101&lang=zh`;
|
||||
this.$api.http.get(url).then(d=>{
|
||||
let info=d?.data?.now||{};
|
||||
this.temperature=info.tmp||20;
|
||||
this.condTxt=info.cond_txt||'晴';
|
||||
this.condCode=info.cond_code||100;
|
||||
this.condCode=`//widget-s.qweather.net/img/plugin/190516/icon/c/${this.condCode}n.png`
|
||||
});
|
||||
},
|
||||
toggleFullScreen(){
|
||||
let el=document.body;
|
||||
this.$toggleFullScreen(el);
|
||||
|
@ -130,37 +151,32 @@ Vue.component("screen-header", {
|
|||
let tmps=this.depts.filter(d=>d.text==this.dept1);
|
||||
if(tmps.length>0){
|
||||
this.$bus.$emit("deptChange",tmps[0])
|
||||
this.$root.dept=tmps[0];
|
||||
}
|
||||
},
|
||||
setTitle(){
|
||||
let titls=['','项目概况','项目详情','安全管理','质量管理','进度管理','视频管理','工程管理']
|
||||
let title=titls[this.nav];
|
||||
if(title){
|
||||
window.document.title=title;
|
||||
}else{
|
||||
window.document.title='北跨泾河-产发工程数字管理平台-大屏';
|
||||
}
|
||||
},
|
||||
//页面条状
|
||||
pageJump(n,url,itemurl){
|
||||
if(n != this.nav){
|
||||
if(this.localStorage1.type == 1){
|
||||
if(url){
|
||||
location.href = url
|
||||
}else{
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
pageJump(n,url){
|
||||
this.nav=n;
|
||||
this.setTitle();
|
||||
if(url){
|
||||
location.href = url
|
||||
}else{
|
||||
if(n==5){
|
||||
location.href = url
|
||||
}else{
|
||||
if(itemurl){
|
||||
location.href = itemurl
|
||||
}else{
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
}
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
@ -196,6 +212,7 @@ Vue.component("screen-header", {
|
|||
}).filter(it=>+it.progressVisible==0);
|
||||
this.data=[{id:0,text:'所有项目'},...objs];
|
||||
this.$bus.$emit("loadProjects",this.data);
|
||||
this.$root.projects=this.data;
|
||||
if(this.data.length>0){
|
||||
this.setScreenLiSel2(this.data[0],init);
|
||||
}else{
|
||||
|
@ -212,6 +229,7 @@ Vue.component("screen-header", {
|
|||
this.$emit('itemdata',item);
|
||||
this.dept2=item.text;
|
||||
}
|
||||
this.$root.project=this.localStorage2;
|
||||
this.$bus.$emit("projectChange",this.localStorage2);
|
||||
}else{
|
||||
localStorage.removeItem("data2");
|
||||
|
|
|
@ -9,13 +9,13 @@ Vue.component("screen-header", {
|
|||
北跨泾河-产发工程数字管理平台
|
||||
</div>
|
||||
<div class="head-title-tab">
|
||||
<div :class="nav==1?'head-nav active':'head-nav'" @click="pageJump(1,'#/')">项目概况</div>
|
||||
<div :class="nav==2?'head-nav active':'head-nav'" @click="pageJump(2,'#/detail')">项目详情</div>
|
||||
<div :class="nav==3?'head-nav active':'head-nav'" @click="pageJump(3,'#/safety')">安全管理</div>
|
||||
<div :class="nav==4?'head-nav active':'head-nav'" @click="pageJump(4,'#/quality')">质量管理</div>
|
||||
<div :class="nav==5?'head-nav active':'head-nav'" @click="pageJump(5,'#/progress')">进度管理</div>
|
||||
<div :class="nav==6?'head-nav active':'head-nav'" @click="pageJump(6,'#/video')">视频管理</div>
|
||||
<div :class="nav==7?'head-nav active':'head-nav'" @click="pageJump(7)">工程管理</div>
|
||||
<div :class="nav==1?'head-nav active':'head-nav'" @click="pageJump(1,'index.html','index.html')">项目概况</div>
|
||||
<div :class="nav==2?'head-nav active':'head-nav'" @click="pageJump(2,'projectDetail.html','projectDetail.html')">项目详情</div>
|
||||
<div :class="nav==3?'head-nav active':'head-nav'" @click="pageJump(3,'projectSafety.html','projectSafety.html')">安全管理</div>
|
||||
<div :class="nav==4?'head-nav active':'head-nav'" @click="pageJump(4,'projectQuality.html','projectQuality.html')">质量管理</div>
|
||||
<div :class="nav==5?'head-nav active':'head-nav'" @click="pageJump(5,'projectProgress.html','projectProgress.html')">进度管理</div>
|
||||
<div :class="nav==6?'head-nav active':'head-nav'" @click="pageJump(6,'projectVideo.html','projectVideo.html')">视频管理</div>
|
||||
<div :class="nav==7?'head-nav active':'head-nav'" @click="pageJump(7,'projectEngin.html','projectEngin.html')">工程管理</div>
|
||||
</div>
|
||||
<div class="head-title-select" @mouseleave="hideScreenUlSel1" v-if="localStorage1">
|
||||
<div class="head-select">
|
||||
|
@ -48,7 +48,7 @@ Vue.component("screen-header", {
|
|||
<span>11~25℃</span>
|
||||
</div>
|
||||
</div>
|
||||
<i class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 4px;right: 16px;" @click="toggleFullScreen">
|
||||
<i v-if="1==2" class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 4px;right: 16px;" @click="toggleFullScreen">
|
||||
<svg class="icon" v-if="!isFullScreen" style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304"><path d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" fill="" p-id="3305"></path></svg>
|
||||
<svg class="icon" v-else style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3952"><path d="M384 597.333333h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h153.6L17.066667 947.2c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0L341.333333 742.4v153.6c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z m358.4 85.333334h153.6c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V742.4l264.533333 264.533333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333L742.4 682.666667zM640 426.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H742.4L1006.933333 76.8c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0L682.666667 281.6V128c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667z m-256-341.333334c-25.6 0-42.666667 17.066667-42.666667 42.666667v153.6L76.8 8.533333C59.733333 0 25.6 0 8.533333 8.533333 0 25.6 0 59.733333 8.533333 76.8L281.6 341.333333H128c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" p-id="3953"></path></svg>
|
||||
</i>
|
||||
|
@ -133,17 +133,32 @@ Vue.component("screen-header", {
|
|||
}
|
||||
},
|
||||
//页面条状
|
||||
pageJump(n,url){
|
||||
if(n != this.nav){
|
||||
|
||||
if(url){
|
||||
location.href = url
|
||||
pageJump(n,url,itemurl){
|
||||
if(n != this.nav){
|
||||
if(this.localStorage1.type == 1){
|
||||
if(url){
|
||||
location.href = url
|
||||
}else{
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
}else{
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
if(n==5){
|
||||
location.href = url
|
||||
}else{
|
||||
if(itemurl){
|
||||
location.href = itemurl
|
||||
}else{
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
message: '页面开发中,敬请期待!',
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -51,7 +51,6 @@ Vue.component("labour-china-map", {
|
|||
triggerOn:'click',
|
||||
formatter: function(params) {
|
||||
var tipHtml = ''
|
||||
console.log(params.dataIndex)
|
||||
if(params.data){
|
||||
tipHtml = tooltip[params.dataIndex]
|
||||
return tipHtml
|
||||
|
|
|
@ -56,8 +56,7 @@ Vue.component("more-btn", {
|
|||
},
|
||||
buttonClick(i, item) {
|
||||
this.btnNav = i
|
||||
this.text = item.text
|
||||
console.log(item)
|
||||
this.text = item.text
|
||||
this.$emit('value',item);
|
||||
},
|
||||
mouseenterBtn() {
|
||||
|
|
|
@ -35,8 +35,7 @@ Vue.component("quality-objectives-safety", {
|
|||
mounted(){
|
||||
let that = this
|
||||
$.post("/weixin/saftTarget/list1",{},res => {
|
||||
that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id]
|
||||
console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]);
|
||||
that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id]
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -38,7 +38,7 @@ Vue.component("quality-objectives", {
|
|||
let url2 = "https://szh.makalu.cc/system/qualityTarget/list1"
|
||||
$.post(url2,{},res => {
|
||||
that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id]
|
||||
console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]);
|
||||
//console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]);
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -64,8 +64,7 @@ Vue.component("roll-left-right-img", {
|
|||
}else{
|
||||
this.costIndex = this.costIndex - 1
|
||||
}
|
||||
}
|
||||
console.log(this.costIndex)
|
||||
}
|
||||
$(this.$refs.rollImgMax).animate({scrollLeft:(width*this.costIndex)+'px'})
|
||||
this.direction = 'right'
|
||||
},
|
||||
|
|
|
@ -96,8 +96,7 @@
|
|||
},
|
||||
mounted() {
|
||||
this.$nextTick(()=>{
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
console.log("--->",els)
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
if(els.length>0){
|
||||
let el=els[0];
|
||||
this.width=el.contentRect?.width||150;
|
||||
|
|
|
@ -48,8 +48,7 @@
|
|||
},
|
||||
mounted() {
|
||||
this.$nextTick(()=>{
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
console.log("--->",els)
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
if(els.length>0){
|
||||
let el=els[0];
|
||||
this.width=el.contentRect?.width||150;
|
||||
|
|
|
@ -71,8 +71,7 @@
|
|||
},
|
||||
mounted() {
|
||||
this.$nextTick(()=>{
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
console.log("--->",els)
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
if(els.length>0){
|
||||
let el=els[0];
|
||||
this.width=el.contentRect?.width||150;
|
||||
|
|
|
@ -87,7 +87,6 @@
|
|||
mounted() {
|
||||
this.$nextTick(()=>{
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
console.log("--->",els)
|
||||
if(els.length>0){
|
||||
let el=els[0];
|
||||
this.width=el.contentRect?.width||150;
|
||||
|
|
|
@ -165,8 +165,7 @@
|
|||
},
|
||||
mounted() {
|
||||
this.$nextTick(()=>{
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
console.log("--->",els)
|
||||
let resizeObserver = new ResizeObserver(els=>{
|
||||
if(els.length>0){
|
||||
let el=els[0];
|
||||
this.width=el.contentRect?.width||150;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<MyDialog v-if="show" v-model="show" width="1600px" height="850px" :class="'font-size-' + fontSize"
|
||||
<MyDialog v-if="show" v-model="show" width="1600px" height="850px" :class="'font-size-' + fontSize" :loading="loading"
|
||||
class="problem-modify-detail">
|
||||
<template slot="title">
|
||||
{{ row.projectName }}【{{ infoType == 0 ? '安全隐患' : '质量隐患' }}】
|
||||
|
@ -135,6 +135,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
loading:false,
|
||||
fontSize: 0,
|
||||
elKey: 0,
|
||||
nav: 0,
|
||||
|
@ -189,7 +190,9 @@ export default {
|
|||
if (this.selDate.length > 1) {
|
||||
postData.endDate = this.$dt(this.selDate[1]).format("YYYY-MM-DD");
|
||||
}
|
||||
this.loading=true;
|
||||
this.$api.problemmodify.listSspProblemmodify(postData).then(d => {
|
||||
this.loading=false;
|
||||
this.dataTable = (d.data || []).map(it => {
|
||||
if (it.updateTime) {
|
||||
let dt1 = +this.$dt(this.$dt(it.nickedTime).format("YYYY-MM-DD"));
|
||||
|
@ -253,7 +256,6 @@ export default {
|
|||
tmps.forEach(it => {
|
||||
this.count["" + it.checkState] = it.id;
|
||||
})
|
||||
console.log("--->", this.count)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
|
@ -39,10 +39,17 @@ export default {
|
|||
this.$bus.$on("projectChange", res => {
|
||||
this.project = res;
|
||||
this.reloadMap();
|
||||
});
|
||||
});
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
initMe(){
|
||||
this.project=this.$root.project;
|
||||
this.reloadMap();
|
||||
},
|
||||
initImages(files){
|
||||
let images=this.$tryToJson(files,[]).map(it=>it.name).filter(it=>it && ['jpg','jpeg','png','gif','bmp'].includes(it.toLowerCase().split(".").pop()))
|
||||
.filter(d=>d.indexOf('总平')==-1);
|
||||
|
@ -99,8 +106,12 @@ export default {
|
|||
},
|
||||
initMap() {
|
||||
const func = () => {
|
||||
if(!document.getElementById("cesiumContainer")){
|
||||
setTimeout(func, 50);
|
||||
return;
|
||||
}
|
||||
if (!window.initMap) {
|
||||
setTimeout(func, 100);
|
||||
setTimeout(func, 50);
|
||||
return;
|
||||
}
|
||||
this.loading=false;
|
||||
|
@ -112,13 +123,12 @@ export default {
|
|||
(data)=> {
|
||||
if (Cesium.defined(data)) {
|
||||
if (Cesium.defined(data.obj) && data.obj instanceof Cesium.Cesium3DTileset) {
|
||||
console.log(data);
|
||||
setTimeout(()=>{
|
||||
if(this.mapInfo.view){
|
||||
let v=this.mapInfo.view;
|
||||
window.mapApi.Camera.setViewPort(v.position,v.heading,v.pitch);
|
||||
this.timer=setInterval(()=>{
|
||||
window.mapApi.Model.rotate(1,this.mapInfo.modelId);
|
||||
window.mapApi.Model.rotate(0.5,this.mapInfo.modelId);
|
||||
},50);
|
||||
$("#cesium-plugin-cube_cesiumContainer").hide();
|
||||
$("#cesiumContainer").mouseover(()=>{
|
||||
|
@ -127,7 +137,7 @@ export default {
|
|||
}).mouseout(()=>{
|
||||
$("#cesium-plugin-cube_cesiumContainer").hide();
|
||||
this.timer=setInterval(()=>{
|
||||
window.mapApi.Model.rotate(1,this.mapInfo.modelId);
|
||||
window.mapApi.Model.rotate(0.5,this.mapInfo.modelId);
|
||||
},50);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
<template>
|
||||
<div class="main-index">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="1"></screen-header>
|
||||
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="6" style="position: relative;">
|
||||
|
@ -45,7 +41,7 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<module-one-2-1 class="center-image" label="集团项目区域分布">
|
||||
<index-map></index-map>
|
||||
<map-index></map-index>
|
||||
</module-one-2-1>
|
||||
<el-row>
|
||||
<el-col :span="12" style="position: relative;">
|
||||
|
@ -218,8 +214,7 @@
|
|||
</module-one-1-1>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<index-dlg1 ref="dlg1"></index-dlg1>
|
||||
<index-dlg2 ref="dlg2"></index-dlg2>
|
||||
<index-dlg3 ref="dlg3"></index-dlg3>
|
||||
|
@ -242,6 +237,7 @@ import MonitAndWarning from './components/MonitAndWarning.vue'
|
|||
import journalismDlg from './dlg/journalismDlg.vue'
|
||||
import debounce from 'lodash.debounce'
|
||||
import AttendanceDetailDialog from './components/AttendanceDetailDialog.vue'
|
||||
import mapIndex from './index/mapIndex.vue'
|
||||
export default {
|
||||
name: 'App',
|
||||
components: {
|
||||
|
@ -251,7 +247,7 @@ export default {
|
|||
indexMap,
|
||||
MonitAndWarning,
|
||||
journalismDlg,
|
||||
AttendanceDetailDialog
|
||||
AttendanceDetailDialog,mapIndex
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -506,8 +502,25 @@ export default {
|
|||
this.onWarningInfoNav(0);
|
||||
this.sumCostOutByDeptId();
|
||||
}));
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMe(){
|
||||
this.prj=this.$root.project;
|
||||
this.deptInfo=this.$root.dept;
|
||||
this.prjs=this.$root.projects;
|
||||
let res=this.prj;
|
||||
this.investmentAmountData1[0].value = "" + res.paidAmount * 1.0;
|
||||
this.investmentAmountData2[0].value = "" + res.onAccountAmount * 1.0;
|
||||
this.elKey++;
|
||||
this.onWarningInfoNav(0);
|
||||
this.sumCostOutByDeptId();
|
||||
this.groupByProjectCategory(this.deptInfo.id);
|
||||
this.onClickoOverview(0)
|
||||
this.qualityNavClick(0);
|
||||
},
|
||||
doShowAttendanceDetail(){
|
||||
let data={
|
||||
deptId:this.deptInfo.id||0,
|
||||
|
|
|
@ -42,7 +42,6 @@ export default {
|
|||
// 将地址解析结果显示在地图上,并调整地图视野
|
||||
myGeo.getPoint('经河新城', function (point) {
|
||||
if (point) {
|
||||
console.log("--->",point)
|
||||
map.centerAndZoom(point, 16);
|
||||
map.addOverlay(new BMapGL.Marker(point, { title: '经河新城' }))
|
||||
map.enableScrollWheelZoom(true);
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
<template>
|
||||
<div style="height: 100%;">
|
||||
<div style="height: 100%;" v-loading="loading">
|
||||
<div id="cesiumContainer" style="height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: 'JhbigscreenMapModle',
|
||||
props: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
images: [],
|
||||
loading: false,
|
||||
mapInfo: null,
|
||||
project: null
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.initMe();
|
||||
},
|
||||
|
||||
methods: {
|
||||
initMe() {
|
||||
this.project = this.$root.project;
|
||||
this.reloadMap();
|
||||
},
|
||||
reloadMap() {
|
||||
this.mapInfo = {
|
||||
root: "http://szgc.jhncidg.com:808/mapmodel/Tools/output/model/202308292207450987/root.glt",
|
||||
modelId: '3a0d53cc-ad56-688c-e38d-f907088c2882'
|
||||
};
|
||||
this.showMap = true;
|
||||
this.loading = true;
|
||||
setTimeout(this.initMap, 200);
|
||||
|
||||
},
|
||||
initMap() {
|
||||
const func = () => {
|
||||
if (!document.getElementById("cesiumContainer")) {
|
||||
setTimeout(func, 50);
|
||||
return;
|
||||
}
|
||||
if (!window.initMap) {
|
||||
setTimeout(func, 50);
|
||||
return;
|
||||
}
|
||||
this.loading = false;
|
||||
window.initMap();
|
||||
window.mapApi.Model.add(
|
||||
this.mapInfo.root,
|
||||
this.mapInfo.modelId,
|
||||
null,
|
||||
(data) => {
|
||||
if (Cesium.defined(data)) {
|
||||
if (Cesium.defined(data.obj) && data.obj instanceof Cesium.Cesium3DTileset) {
|
||||
}
|
||||
}
|
||||
},
|
||||
(data) => {
|
||||
$("#box,#LoadingShadow").hide()
|
||||
});
|
||||
window.mapApi.Public.Event("LEFT_CLICK", function (click) {
|
||||
window.mapApi.Feature.GetFeatureByEvent(click.position, function (json) {
|
||||
});
|
||||
});
|
||||
}
|
||||
func();
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
#cesiumContainer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#cesium-plugin-cube_cesiumContainer {
|
||||
transform: scale(0.6);
|
||||
}
|
||||
</style>
|
|
@ -1,10 +1,6 @@
|
|||
<template>
|
||||
<div class="proj-detail">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="2" @itemdata="onItemData"></screen-header>
|
||||
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
|
@ -80,7 +76,7 @@
|
|||
</el-row>
|
||||
</div>
|
||||
</module-one-1-1>
|
||||
<module-one-1-1 label="劳务人员概况">
|
||||
<module-one-1-1 label="劳务人员概况" style="position: relative;">
|
||||
<div class="warning-info">
|
||||
<div class="warning-info-title">
|
||||
<div :class="infoNav == 0 ? 'active' : ''" @click="onWarningInfoNav(0, '在岗人数')">在岗人数
|
||||
|
@ -88,6 +84,8 @@
|
|||
<div :class="infoNav == 1 ? 'active' : ''" @click="onWarningInfoNav(1, '今日出勤')">今日出勤
|
||||
</div>
|
||||
</div>
|
||||
<img src="images/icon2001.png" v-if="infoNav == 1" style="position: absolute;cursor: pointer;right: 20px;top: 48px;"
|
||||
@click="doShowAttendanceDetail">
|
||||
<el-row :key="elDeptWorks">
|
||||
<el-col :span="8">
|
||||
<div class="survey_content">
|
||||
|
@ -611,9 +609,9 @@
|
|||
</module-one-1-1>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<project-info-dlg ref="prjInfoDlg"></project-info-dlg>
|
||||
<AttendanceDetailDialog ref="attDetailDlg"></AttendanceDetailDialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -626,10 +624,11 @@ import mapModle from './detail/mapModle.vue'
|
|||
import MonitAndWarning from './components/MonitAndWarning.vue'
|
||||
import projectInfoDlg from './detail/projectInfoDlg.vue'
|
||||
import debounce from 'lodash.debounce'
|
||||
import AttendanceDetailDialog from './components/AttendanceDetailDialog.vue'
|
||||
export default {
|
||||
components: {
|
||||
MonitAndWarning, projectInfoDlg,
|
||||
mapModle
|
||||
mapModle,AttendanceDetailDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -762,7 +761,7 @@ export default {
|
|||
this.projectLvlDict = d || [];
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
mounted() {
|
||||
window.xapp = this
|
||||
this.$bus.$on("loadProjects", debounce(prjs => {
|
||||
this.prjs = prjs;
|
||||
|
@ -784,8 +783,34 @@ export default {
|
|||
this.$bus.$on("deptChange",debounce(dept => {
|
||||
this.dept = dept;
|
||||
}));
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doShowAttendanceDetail(){
|
||||
let data={
|
||||
deptId:this.dept.id||0,
|
||||
projectId:this.project.id||0,
|
||||
attendanceTime: this.$dt(new Date()).format("YYYY-MM-DD")
|
||||
}
|
||||
this.$refs.attDetailDlg.showDialog(data);
|
||||
},
|
||||
initMe(){
|
||||
this.project=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.prjs=this.$root.projects;
|
||||
let res=this.project;
|
||||
if (res.id == 0) {
|
||||
if (this.prjs.length > 1) {
|
||||
this.getMapName(this.prjs[1].projectName);
|
||||
}
|
||||
} else {
|
||||
this.getMapName(res.projectName);
|
||||
}
|
||||
this.loadData();
|
||||
this.loadFilshNode();
|
||||
},
|
||||
doDownFile(it){
|
||||
if (it && it.url) {
|
||||
this.$api.downFile( "/jhapi"+it.url,{},it.original);
|
||||
|
@ -870,9 +895,13 @@ export default {
|
|||
let obj=(d||[]).filter(it=>it.nodeText=="方案深化设计");
|
||||
if(obj && obj.length>0){
|
||||
let files=(obj[0].files||'[]')
|
||||
this.$refs.mapModle.initImages(files)
|
||||
if(this.$refs.mapModle){
|
||||
this.$refs.mapModle.initImages(files)
|
||||
}
|
||||
}else{
|
||||
this.$refs.mapModle.initImages("[]")
|
||||
if(this.$refs.mapModle){
|
||||
this.$refs.mapModle.initImages("[]")
|
||||
}
|
||||
}
|
||||
this.doPrjRes('03');
|
||||
})
|
||||
|
@ -890,7 +919,9 @@ export default {
|
|||
obj.images = [];
|
||||
}
|
||||
this.scheduleInfo = obj;
|
||||
this.$refs.mapModle.initImgs(obj?.images||[]);
|
||||
if(this.$refs.mapModle){
|
||||
this.$refs.mapModle.initImgs(obj?.images||[]);
|
||||
}
|
||||
});
|
||||
this.projectBuildNode = [];
|
||||
this.getProjectBuildNode();
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
<template>
|
||||
<div class="project-engin-index">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="7" @itemdata="onItemData"></screen-header>
|
||||
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
|
@ -73,8 +67,7 @@
|
|||
</div>
|
||||
</module-one-1-1>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-row>
|
||||
</div>
|
||||
<unitDialog ref="unitDlg"></unitDialog>
|
||||
<stateDialog ref="stateDlg"></stateDialog>
|
||||
|
@ -163,9 +156,18 @@ export default {
|
|||
this.loadData();
|
||||
}));
|
||||
this.loadPeriodical();
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
initMe(){
|
||||
this.project=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.prjs=this.$root.projects;
|
||||
this.loadData();
|
||||
},
|
||||
doStateDlg(){
|
||||
this.$refs.stateDlg.showDialog({
|
||||
deptId:this.dept?.id||0,
|
||||
|
@ -273,7 +275,6 @@ export default {
|
|||
this.chart2Data=tmps2;
|
||||
|
||||
this.elChart2++;
|
||||
console.log("-2->",this.chart2Data);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
<template>
|
||||
<div class="project-progress">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="5"></screen-header>
|
||||
<div class="project-progress">
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
|
@ -356,8 +351,7 @@
|
|||
</module-one-1-2>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<index-dlg1 ref="dlg1"></index-dlg1>
|
||||
<index-dlg2 ref="dlg2"></index-dlg2>
|
||||
<index-dlg3 ref="dlg3"></index-dlg3>
|
||||
|
@ -478,8 +472,21 @@ export default {
|
|||
this.selectScheduledAlerts();
|
||||
this.selectCompletionRate();
|
||||
}))
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMe(){
|
||||
this.prjInfo=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.projects=this.$root.projects;
|
||||
this.loadProjectConstructionProgress();
|
||||
this.groupByProjectCategory(this.dept.id);
|
||||
this.deptChange();
|
||||
this.selectScheduledAlerts();
|
||||
this.selectCompletionRate();
|
||||
},
|
||||
planSummaryChartClick(p){
|
||||
let idx=0;
|
||||
if(p.event.target.parent.style && p.event.target.parent.style.text){
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
<template>
|
||||
<div class="project-quality">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="4" ></screen-header>
|
||||
<div class="project-quality">
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="12" style="position: relative;">
|
||||
|
@ -219,8 +214,7 @@
|
|||
</div>
|
||||
</module-one-3-1>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-row>
|
||||
</div>
|
||||
<ProblemmodifyDetail ref="probDlg"></ProblemmodifyDetail>
|
||||
<showCheckingDlg ref="checkDlg"></showCheckingDlg>
|
||||
|
@ -359,8 +353,20 @@ export default {
|
|||
this.doMeasuredNav(0,'汇总')
|
||||
this.selectTop20materialSeal();
|
||||
}));
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initMe(){
|
||||
this.projectInfo=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.prjs=this.$root.projects;
|
||||
this.doDeptChane();
|
||||
this.checkDetection(0);
|
||||
this.doMeasuredNav(0,'汇总')
|
||||
this.selectTop20materialSeal();
|
||||
},
|
||||
doShowCheckDetectionDlg(){
|
||||
this.$refs.chkDetectionDlg.showDialog({
|
||||
deptId:this.dept?.id||0,
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
<template>
|
||||
<div class="project-safety">
|
||||
<!--大屏背景-->
|
||||
<background-video></background-video>
|
||||
<!--大屏内容-->
|
||||
<div class="screen-content-max">
|
||||
<screen-header :nav="3"></screen-header>
|
||||
<div class="project-safety">
|
||||
<div class="screen-content">
|
||||
<el-row>
|
||||
<el-col :span="12" style="position: relative;">
|
||||
|
@ -267,8 +262,7 @@
|
|||
</module-one-1-1>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<worktrainDlg ref="workTrainDlg"></worktrainDlg>
|
||||
<projectSpecialDlg ref="projectSpecialDlg"></projectSpecialDlg>
|
||||
<ProblemmodifyDetail ref="probDlg"></ProblemmodifyDetail>
|
||||
|
@ -404,9 +398,26 @@ export default {
|
|||
this.getWorkFileList();
|
||||
}
|
||||
}));
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
initMe(){
|
||||
this.projectInfo=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.projects=this.$root.projects;
|
||||
this.doDeptChane();
|
||||
this.getWorkTrainList();
|
||||
this.getEmergencyDrillList();
|
||||
this.getProjectSpecialView();
|
||||
this.getDeptWorksList();
|
||||
this.getProjectInsuranceList();
|
||||
if(this.fileNav==3){
|
||||
this.getWorkFileList();
|
||||
}
|
||||
},
|
||||
doInsuranceRowClick(row){
|
||||
this.$refs.insDlg.showDialog(this.projects, this.projectInfo,row)
|
||||
},
|
||||
|
|
|
@ -278,6 +278,7 @@ export default {
|
|||
projectInfo:null,
|
||||
dept:null,
|
||||
videoPassageList:[],
|
||||
projectInfos:[],
|
||||
|
||||
}
|
||||
},
|
||||
|
@ -287,13 +288,16 @@ export default {
|
|||
this.initVideoMenu();
|
||||
}));
|
||||
this.$bus.$on("loadProjects", debounce(prjs => {
|
||||
this.projectInfo = prjs;
|
||||
this.projectInfos = prjs;
|
||||
//this.initVideoMenu();
|
||||
}))
|
||||
this.$bus.$on("deptChange", debounce(dept => {
|
||||
this.dept = dept;
|
||||
//this.initVideoMenu();
|
||||
}));
|
||||
if(this.$root.hasInitHeader){
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
|
@ -396,6 +400,12 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
initMe(){
|
||||
this.projectInfo=this.$root.project;
|
||||
this.dept=this.$root.dept;
|
||||
this.projectInfos=this.$root.projects;
|
||||
this.initVideoMenu();
|
||||
},
|
||||
init() {
|
||||
|
||||
//this.initVideoMenu();
|
||||
|
@ -487,8 +497,7 @@ export default {
|
|||
}
|
||||
|
||||
var token = this.videoListData[0].videoList[0].token
|
||||
|
||||
console.log(token)
|
||||
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (token == data[i].token) {
|
||||
data[i].type = true
|
||||
|
@ -605,7 +614,6 @@ export default {
|
|||
init_video_list = 2
|
||||
}
|
||||
|
||||
console.log(videoListData)
|
||||
|
||||
this.videoReturnData = videoListData[init_video_list].videoList[0]
|
||||
this.token = videoListData[init_video_list].videoList[0].token
|
||||
|
|
|
@ -6,7 +6,7 @@ Vue.use(VueRouter)
|
|||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'index',
|
||||
name: 'index',
|
||||
component: () => import(/* webpackChunkName: "index" */ '../pages/index.vue')
|
||||
},
|
||||
{
|
||||
|
@ -36,6 +36,11 @@ const routes = [
|
|||
path: '/video',
|
||||
name: 'video',
|
||||
component: () => import(/* webpackChunkName: "video" */ '../pages/projectVideo.vue')
|
||||
},
|
||||
{
|
||||
path: '/engin',
|
||||
name: 'engin',
|
||||
component: () => import(/* webpackChunkName: "video" */ '../pages/projectEngin.vue')
|
||||
}
|
||||
]
|
||||
const router = new VueRouter({
|
||||
|
|
|
@ -39,7 +39,7 @@ module.exports = defineConfig({
|
|||
}
|
||||
}
|
||||
},
|
||||
pages:{
|
||||
/* pages:{
|
||||
index:{
|
||||
entry:'src/pages/index.js',
|
||||
template:'public/index.html',
|
||||
|
@ -82,7 +82,7 @@ module.exports = defineConfig({
|
|||
title:'工程管理',
|
||||
filename:'projectEngin.html'
|
||||
}
|
||||
},
|
||||
},*/
|
||||
configureWebpack:{
|
||||
externals:{
|
||||
'vue':"Vue",
|
||||
|
|
Loading…
Reference in New Issue