20230415
|
@ -33,7 +33,9 @@ module.exports = {
|
||||||
// },
|
// },
|
||||||
'/api': {
|
'/api': {
|
||||||
// target: 'http://10.6.0.26:81',
|
// target: 'http://10.6.0.26:81',
|
||||||
target: 'http://175.27.191.156:11000/api/',
|
// target: 'http://175.27.191.156:11000/api/',
|
||||||
|
target: 'http://175.27.191.156:8181/',
|
||||||
|
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/api': ''
|
'^/api': ''
|
||||||
|
|
|
@ -6548,6 +6548,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz",
|
||||||
"integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw=="
|
"integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw=="
|
||||||
},
|
},
|
||||||
|
"js-md5": {
|
||||||
|
"version": "0.7.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz",
|
||||||
|
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
|
||||||
|
},
|
||||||
"js-tokens": {
|
"js-tokens": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-3.0.2.tgz",
|
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-3.0.2.tgz",
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
"flv.js": "^1.6.2",
|
"flv.js": "^1.6.2",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
|
"js-md5": "^0.7.3",
|
||||||
"jspdf": "^2.5.1",
|
"jspdf": "^2.5.1",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"mqtt": "^3.0.0",
|
"mqtt": "^3.0.0",
|
||||||
|
|
After Width: | Height: | Size: 395 KiB |
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 999 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 1.1 KiB |
|
@ -189,6 +189,10 @@ export default {
|
||||||
padding: this.yAxisPadding || [0, 40, -2, 6],
|
padding: this.yAxisPadding || [0, 40, -2, 6],
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
},
|
},
|
||||||
|
// max:200,
|
||||||
|
// min:0,
|
||||||
|
// splitNumber:200,
|
||||||
|
minInterval:1,
|
||||||
axisLine: {
|
axisLine: {
|
||||||
show: true,
|
show: true,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
|
@ -211,6 +215,7 @@ export default {
|
||||||
axisTick: {
|
axisTick: {
|
||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<swiper-slide v-for="(slide, key) in swiperList" :key="key">
|
<swiper-slide v-for="(slide, key) in swiperList" :key="key">
|
||||||
<div>
|
<div>
|
||||||
<div class="item_container">
|
<div class="item_container">
|
||||||
<img :src="slide.apparatusLogo" alt="" class="apparatus_logo">
|
<img :src="slide.picture" alt="" class="apparatus_logo">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</swiper-slide>
|
</swiper-slide>
|
||||||
|
@ -21,6 +21,14 @@ import { Swiper, SwiperSlide } from "vue-awesome-swiper";
|
||||||
import "swiper/css/swiper.css";
|
import "swiper/css/swiper.css";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
props: {
|
||||||
|
// 父组件传递过来的图表数据
|
||||||
|
peopleList:{
|
||||||
|
type:Array,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
Swiper,
|
Swiper,
|
||||||
SwiperSlide,
|
SwiperSlide,
|
||||||
|
@ -29,42 +37,43 @@ export default {
|
||||||
const _self =this
|
const _self =this
|
||||||
return {
|
return {
|
||||||
swiperList: [
|
swiperList: [
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪1",
|
// "apparatusName": "激光云高仪1",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪2",
|
// "apparatusName": "激光云高仪2",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪3",
|
// "apparatusName": "激光云高仪3",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪4",
|
// "apparatusName": "激光云高仪4",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪5",
|
// "apparatusName": "激光云高仪5",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪6",
|
// "apparatusName": "激光云高仪6",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"apparatusLogo": require("@/assets/pic/23.png"),
|
// "apparatusLogo": require("@/assets/pic/23.png"),
|
||||||
"apparatusName": "激光云高仪7",
|
// "apparatusName": "激光云高仪7",
|
||||||
"apparatusImg": require("@/assets/pic/23.png"),
|
// "apparatusImg": require("@/assets/pic/23.png"),
|
||||||
},
|
// },
|
||||||
],
|
],
|
||||||
|
peopleList:[],
|
||||||
//轮播图配置项
|
//轮播图配置项
|
||||||
swiperOption: {
|
swiperOption: {
|
||||||
initialSlide: 0,
|
initialSlide: 0,
|
||||||
|
@ -125,6 +134,27 @@ export default {
|
||||||
// Some Swiper option/callback...
|
// Some Swiper option/callback...
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 监听父组件中的数据变化,重新触发Echarts
|
||||||
|
peopleList: {
|
||||||
|
deep: true,
|
||||||
|
handler (val) {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
console.log("val",val)
|
||||||
|
// this.peopleList = val
|
||||||
|
// console.log("peopleList",this.peopleList)
|
||||||
|
if(val.length!=0){
|
||||||
|
this.swiperList = val
|
||||||
|
console.log("swiperList",this.swiperList)
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
slideChange() {
|
slideChange() {
|
||||||
|
|
|
@ -101,12 +101,20 @@ export default {
|
||||||
return {
|
return {
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: "axis",
|
trigger: "axis",
|
||||||
axisPointer: {
|
backgroundColor:'#1A5856',
|
||||||
type: "shadow",
|
// axisPointer: {
|
||||||
label: {
|
// type: "shadow",
|
||||||
show: false,
|
// label: {
|
||||||
|
// show: false,
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
axisPointer: {
|
||||||
|
lineStyle: {
|
||||||
|
color: "rgba(227, 242, 252, 0.39)",
|
||||||
|
width: 30,
|
||||||
|
type: "solid",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
legend: [
|
legend: [
|
||||||
|
|
|
@ -102,7 +102,7 @@ export default {
|
||||||
width: 120,
|
width: 120,
|
||||||
height: 120,
|
height: 120,
|
||||||
},
|
},
|
||||||
left: "161", //
|
left: "153", //
|
||||||
top: "97", //配置图片居中
|
top: "97", //配置图片居中
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -111,7 +111,7 @@ export default {
|
||||||
{
|
{
|
||||||
type: "pie",
|
type: "pie",
|
||||||
radius: this.picIsShow ? ["53%", "65%"] : ["60%", "60%"],
|
radius: this.picIsShow ? ["53%", "65%"] : ["60%", "60%"],
|
||||||
center: ["50%", "157"],
|
center: ["48%", "157"],
|
||||||
color: this.colorList,
|
color: this.colorList,
|
||||||
hoverAnimation: true, /// /设置饼图默认的展开样式
|
hoverAnimation: true, /// /设置饼图默认的展开样式
|
||||||
label: {
|
label: {
|
||||||
|
@ -140,7 +140,7 @@ export default {
|
||||||
labelLine: {
|
labelLine: {
|
||||||
normal: {
|
normal: {
|
||||||
length: 5,
|
length: 5,
|
||||||
length2: 10,
|
length2: 7,
|
||||||
show: false,
|
show: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -71,17 +71,19 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initCharts(dataList) {
|
initCharts(dataList) {
|
||||||
|
console.log("dataList",dataList)
|
||||||
let myChart = this.$echarts.init(this.$refs.chart)
|
let myChart = this.$echarts.init(this.$refs.chart)
|
||||||
var val1data2 = []
|
var val1data2 = []
|
||||||
val1data2 = Object.keys(dataList).map((item,index)=>{
|
val1data2 = Object.keys(dataList).map((item,index)=>{
|
||||||
return {name:dataList[item].post,value:dataList[item].percent}
|
return {name:dataList[item].post,value:dataList[item].number}
|
||||||
|
|
||||||
})
|
})
|
||||||
var arr = ['middleLost', 0.6, val1data2, '今日完成进度']
|
var arr = ['middleLost', 0.6, val1data2, '今日完成进度']
|
||||||
// 绘制图表
|
// 绘制图表
|
||||||
myChart.setOption({
|
myChart.setOption({
|
||||||
tooltip:{
|
tooltip:{
|
||||||
trigger:'item',
|
trigger:'item',
|
||||||
formatter: '{b}:{c}%',
|
formatter: '{b}:{c}人',
|
||||||
},
|
},
|
||||||
graphic: {
|
graphic: {
|
||||||
elements: [{
|
elements: [{
|
||||||
|
@ -105,7 +107,7 @@ export default {
|
||||||
hoverAnimation: true, /// /设置饼图默认的展开样式
|
hoverAnimation: true, /// /设置饼图默认的展开样式
|
||||||
label: {
|
label: {
|
||||||
show: true,
|
show: true,
|
||||||
formatter: '{b|{b}}:{c|{c}}%',
|
formatter: '{b|{b}}:{c|{c}}人',
|
||||||
padding:[0,0,0,0],
|
padding:[0,0,0,0],
|
||||||
itemStyle: { // 此配置
|
itemStyle: { // 此配置
|
||||||
normal: {
|
normal: {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="width:100%;height:100%;position: relative;">
|
<div style="width:100%;height:100%;position: relative;">
|
||||||
<div class="allTotle">
|
<div class="allTotle">
|
||||||
<div>项目总人数</div>
|
<div>项目人数</div>
|
||||||
<span>{{totalPer}}</span>
|
<span>{{totalPer}}</span>
|
||||||
<span>人</span>
|
<span>人</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -348,7 +348,8 @@ export default {
|
||||||
|
|
||||||
.js2Child {
|
.js2Child {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 40px;
|
// width: 40px;
|
||||||
|
width: 55px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
height: 19px;
|
height: 19px;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
|
@ -366,6 +367,7 @@ export default {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #96FFFD;
|
color: #96FFFD;
|
||||||
|
float: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ import mqttConfig from './utils/mqttConfig';
|
||||||
// main.js
|
// main.js
|
||||||
import VScaleScreen from 'v-scale-screen'
|
import VScaleScreen from 'v-scale-screen'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
Vue.prototype.$axios = axios
|
Vue.prototype.$axios = axios
|
||||||
Vue.use(VScaleScreen)
|
Vue.use(VScaleScreen)
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import mqtt from "mqtt";
|
import mqtt from "mqtt";
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
var vm = new Vue();
|
var vm = new Vue();
|
||||||
// function randomName(len) {
|
function randomName(len) {
|
||||||
// var len = len || 23;
|
var len = len || 23;
|
||||||
// var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
|
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
|
||||||
// var maxPos = chars.length;
|
var maxPos = chars.length;
|
||||||
// var str = '';
|
var str = '';
|
||||||
// for (let i = 0; i < len; i++) {
|
for (let i = 0; i < len; i++) {
|
||||||
// str += chars.charAt(Math.floor(Math.random() * maxPos));
|
str += chars.charAt(Math.floor(Math.random() * maxPos));
|
||||||
// }
|
}
|
||||||
// return new Date().getTime() + str;
|
return new Date().getTime() + str;
|
||||||
// }
|
}
|
||||||
class mqttHandle {
|
class mqttHandle {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.connect = {
|
this.connect = {
|
||||||
|
@ -24,8 +24,8 @@ class mqttHandle {
|
||||||
host:'175.27.191.156',
|
host:'175.27.191.156',
|
||||||
port: '10083',
|
port: '10083',
|
||||||
// 认证信息
|
// 认证信息
|
||||||
clientId:'mqttjs_23dda38f34',
|
// clientId:'mqttjs_23dda38f34',
|
||||||
// clientId: newName,
|
clientId: randomName(16),
|
||||||
username: 'site',
|
username: 'site',
|
||||||
password: 'site',
|
password: 'site',
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,13 @@ service.interceptors.response.use(
|
||||||
}
|
}
|
||||||
fr.readAsText(resultBlob)
|
fr.readAsText(resultBlob)
|
||||||
}
|
}
|
||||||
} else if ((res.code && res.code !== 0) || res.error) {
|
} else if (response.status === 400) {
|
||||||
|
SingleMessage({
|
||||||
|
message: '请输入正确的登录信息!!!',
|
||||||
|
type: 'warning',
|
||||||
|
duration: 3 * 1000
|
||||||
|
})
|
||||||
|
}else if ((res.code && res.code !== 0) || res.error) {
|
||||||
if (res.msg) {
|
if (res.msg) {
|
||||||
errorMessage(res.msg)
|
errorMessage(res.msg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,7 +399,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,8 @@
|
||||||
<VideoViewingComponents
|
<VideoViewingComponents
|
||||||
v-if="videoViewingShow"
|
v-if="videoViewingShow"
|
||||||
:videoName="videoName"
|
:videoName="videoName"
|
||||||
:videoId="videoId"
|
:videoId="videoId"
|
||||||
|
:thumbnail="thumbnail"
|
||||||
/>
|
/>
|
||||||
<!-- 进度管理 -->
|
<!-- 进度管理 -->
|
||||||
<ProgressComponents v-if="progressShow" ref="progress"/>
|
<ProgressComponents v-if="progressShow" ref="progress"/>
|
||||||
|
@ -77,8 +78,17 @@
|
||||||
|
|
||||||
<!-- 左侧模块2 -->
|
<!-- 左侧模块2 -->
|
||||||
</div>
|
</div>
|
||||||
<div class="container" :style="{ right: !type ? '-10px' : '0' }">
|
<div class="container" :style="{ right: !type ? '-10px' : '0' }" v-if="openTrue" v-clickoutside="handleClickOutside">
|
||||||
<div class="box" id="box" :style="{ width: !type ? '267px' : '0' }">
|
<div class="box" id="box" :style="{ width: !type ? '267px' : '0' }">
|
||||||
|
<div
|
||||||
|
v-if="!type"
|
||||||
|
:class="[menuType === 0 ? 'childBoxChoose' : 'childBox']"
|
||||||
|
@click="childBoxClick(0)"
|
||||||
|
>
|
||||||
|
<span class="icon1"></span>
|
||||||
|
<span>首页</span>
|
||||||
|
<span class="picture1"></span>
|
||||||
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!type"
|
v-if="!type"
|
||||||
:class="[menuType === 1 ? 'childBoxChoose' : 'childBox']"
|
:class="[menuType === 1 ? 'childBoxChoose' : 'childBox']"
|
||||||
|
@ -124,6 +134,22 @@
|
||||||
@click="switchDiv()"
|
@click="switchDiv()"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="gttBox" v-if="dialogShow">
|
||||||
|
<div class="closeIcon" @click="dialogShow = false">
|
||||||
|
</div>
|
||||||
|
<div class="titName" style="width:60%;">
|
||||||
|
<span></span>
|
||||||
|
<span>视频监控</span>
|
||||||
|
</div>
|
||||||
|
<div class="tabGtBox">
|
||||||
|
<!-- <TabGtt :tableData="tableData" ></TabGtt> -->
|
||||||
|
<iframe ref="iframe" id="iframeid" :src="src" frameborder="0" class="iframe" scrolling="auto" width="100%"
|
||||||
|
height="100%" >
|
||||||
|
</iframe>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
</Resize>
|
</Resize>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -140,9 +166,12 @@ import mqtt from "mqtt"; // mqtt协议
|
||||||
import Swiper from "@/components/common/carousel";
|
import Swiper from "@/components/common/carousel";
|
||||||
import Resize from "../utils/Resize.vue";
|
import Resize from "../utils/Resize.vue";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
import Video from "./video";
|
||||||
import {getWeatherData} from "@/api/api";
|
import {getWeatherData} from "@/api/api";
|
||||||
|
import Clickoutside from 'element-ui/src/utils/clickoutside'
|
||||||
export default {
|
export default {
|
||||||
name: "report",
|
name: "report",
|
||||||
|
directives: { Clickoutside },
|
||||||
components: {
|
components: {
|
||||||
mdScreenPie,
|
mdScreenPie,
|
||||||
BarChart,
|
BarChart,
|
||||||
|
@ -155,12 +184,14 @@ export default {
|
||||||
VideoSurveillanceComponents,
|
VideoSurveillanceComponents,
|
||||||
VideoViewingComponents,
|
VideoViewingComponents,
|
||||||
Resize,
|
Resize,
|
||||||
|
Video
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
weatherImg: require("@/assets/pic/sun.png"),
|
weatherImg: require("@/assets/pic/sun.png"),
|
||||||
videoName: "", //子传父的视频名称
|
videoName: "", //子传父的视频名称
|
||||||
videoId: "", //子传父的视频Id
|
videoId: "", //子传父的视频Id
|
||||||
|
thumbnail:'',
|
||||||
//显示首页
|
//显示首页
|
||||||
indexShow: true,
|
indexShow: true,
|
||||||
//人员管理
|
//人员管理
|
||||||
|
@ -173,6 +204,7 @@ export default {
|
||||||
progressShow: false,
|
progressShow: false,
|
||||||
//安全管理
|
//安全管理
|
||||||
managementShow: false,
|
managementShow: false,
|
||||||
|
openTrue:true,
|
||||||
//左上角
|
//左上角
|
||||||
titLeftshow: false,
|
titLeftshow: false,
|
||||||
japIndex: "人员管理",
|
japIndex: "人员管理",
|
||||||
|
@ -184,6 +216,7 @@ export default {
|
||||||
weatherItem: {},
|
weatherItem: {},
|
||||||
tienum: "",
|
tienum: "",
|
||||||
showType: true,
|
showType: true,
|
||||||
|
dialogShow: false,
|
||||||
boxList: [
|
boxList: [
|
||||||
{
|
{
|
||||||
c1: "开工",
|
c1: "开工",
|
||||||
|
@ -389,13 +422,14 @@ export default {
|
||||||
],
|
],
|
||||||
vdaH: 0,
|
vdaH: 0,
|
||||||
type: false,
|
type: false,
|
||||||
menuType: null,
|
menuType: 0,
|
||||||
numberList: [5, 5],
|
numberList: [5, 5],
|
||||||
boxNone: true,
|
boxNone: true,
|
||||||
topicSends:[],
|
topicSends:[],
|
||||||
environmentData:[],
|
environmentData:[],
|
||||||
closeIndexShow:true,
|
closeIndexShow:true,
|
||||||
exitFullShow:false
|
exitFullShow:false,
|
||||||
|
src:'../static/flv/videoIndex.html'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -409,21 +443,26 @@ export default {
|
||||||
window.openBig = this.openBig;
|
window.openBig = this.openBig;
|
||||||
window.closeBig = this.closeBig;
|
window.closeBig = this.closeBig;
|
||||||
window.createMqtt = this.createMqtt;
|
window.createMqtt = this.createMqtt;
|
||||||
|
window.gantDialog = this.gantDialog;
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
//查看甘特图
|
||||||
|
gantDialog() {
|
||||||
|
this.dialogShow = true
|
||||||
|
},
|
||||||
createMqtt() {
|
createMqtt() {
|
||||||
this.topicSends = ["/SC/pub/uwb", "/SC/pub/env"];
|
this.topicSends = ["/SC/pub/uwb", "/SC/pub/env"];
|
||||||
window.PubScribe(this.topicSends, this.realInfo);
|
window.PubScribe(this.topicSends, this.realInfo);
|
||||||
},
|
},
|
||||||
/** 实时数据分类 */
|
/** 实时数据分类 */
|
||||||
realInfo(topic, message) {
|
realInfo(topic, message) {
|
||||||
let time = new Date();
|
// let time = new Date();
|
||||||
// console.log("topic",topic)
|
// console.log("topic",topic)
|
||||||
switch (topic) {
|
switch (topic) {
|
||||||
// 接收托片
|
// 接收托片
|
||||||
case "/SC/pub/uwb":
|
case "/SC/pub/uwb":
|
||||||
try {
|
try {
|
||||||
// console.log("message", message)
|
console.log("message", message)
|
||||||
const utf8decoder = new TextDecoder()
|
const utf8decoder = new TextDecoder()
|
||||||
const u8arr = new Uint8Array(message)
|
const u8arr = new Uint8Array(message)
|
||||||
const temp = utf8decoder.decode(u8arr) // 将二进制数据转为字符串
|
const temp = utf8decoder.decode(u8arr) // 将二进制数据转为字符串
|
||||||
|
@ -435,7 +474,7 @@ export default {
|
||||||
break;
|
break;
|
||||||
case "/SC/pub/env":
|
case "/SC/pub/env":
|
||||||
try {
|
try {
|
||||||
// console.log("环境message", message)
|
console.log("环境message", message)
|
||||||
const utf8decoder = new TextDecoder()
|
const utf8decoder = new TextDecoder()
|
||||||
const u8arr = new Uint8Array(message)
|
const u8arr = new Uint8Array(message)
|
||||||
const temp = utf8decoder.decode(u8arr) // 将二进制数据转为字符串
|
const temp = utf8decoder.decode(u8arr) // 将二进制数据转为字符串
|
||||||
|
@ -615,6 +654,7 @@ export default {
|
||||||
this.titLeftshow = true;
|
this.titLeftshow = true;
|
||||||
this.videoName = msg.videoName;
|
this.videoName = msg.videoName;
|
||||||
this.videoId = msg.videoId;
|
this.videoId = msg.videoId;
|
||||||
|
this.thumbnail = msg.thumbnail;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tableRowClassName({ row, rowIndex }) {
|
tableRowClassName({ row, rowIndex }) {
|
||||||
|
@ -628,13 +668,29 @@ export default {
|
||||||
openBig() {
|
openBig() {
|
||||||
this.exitFullShow = true
|
this.exitFullShow = true
|
||||||
this.closeIndexShow = false
|
this.closeIndexShow = false
|
||||||
|
this.childBoxClick(this.menuType)
|
||||||
document.getElementById("unityModule").contentWindow.fullScreen();
|
document.getElementById("unityModule").contentWindow.fullScreen();
|
||||||
|
this.openTrue =false
|
||||||
},
|
},
|
||||||
//关闭放大
|
//关闭放大
|
||||||
closeBig() {
|
closeBig() {
|
||||||
this.exitFullShow = false
|
this.exitFullShow = false
|
||||||
this.closeIndexShow = true
|
this.closeIndexShow = true
|
||||||
|
this.openTrue =true
|
||||||
|
this.childBoxClick(this.menuType)
|
||||||
document.getElementById("unityModule").contentWindow.exitFullScreen();
|
document.getElementById("unityModule").contentWindow.exitFullScreen();
|
||||||
|
|
||||||
|
},
|
||||||
|
handleClickOutside(){
|
||||||
|
console.log("cscscs")
|
||||||
|
// this.exitFullShow = false
|
||||||
|
// this.closeIndexShow = true
|
||||||
|
// if(this.menuType!=2){
|
||||||
|
// console.log("this.menuType",this.menuType)
|
||||||
|
// this.childBoxClick(this.menuType)
|
||||||
|
// }
|
||||||
|
this.titLeftshow = true;
|
||||||
|
this.type = true;
|
||||||
},
|
},
|
||||||
// 菜单点击
|
// 菜单点击
|
||||||
childBoxClick(val) {
|
childBoxClick(val) {
|
||||||
|
@ -703,6 +759,22 @@ export default {
|
||||||
// 俩秒之后让模块消失
|
// 俩秒之后让模块消失
|
||||||
this.$refs.switchBtn.style.display = "block";
|
this.$refs.switchBtn.style.display = "block";
|
||||||
}, 800);
|
}, 800);
|
||||||
|
}else if (val === 0) {
|
||||||
|
//人员管理
|
||||||
|
// this.$router.push('/personnel')
|
||||||
|
this.japIndex = "首页";
|
||||||
|
this.indexShow = true;
|
||||||
|
this.personnelShow = false;
|
||||||
|
this.videoSurveillanceShow = false;
|
||||||
|
this.videoViewingShow = false;
|
||||||
|
this.managementShow = false;
|
||||||
|
this.progressShow = false;
|
||||||
|
this.titLeftshow = false;
|
||||||
|
this.type = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
// 俩秒之后让模块消失
|
||||||
|
this.$refs.switchBtn.style.display = "block";
|
||||||
|
}, 800);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
switchDiv() {
|
switchDiv() {
|
||||||
|
@ -885,7 +957,45 @@ export default {
|
||||||
animation-play-state: paused;
|
animation-play-state: paused;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.gttBox {
|
||||||
|
// width: 863px;
|
||||||
|
// height: 60%;
|
||||||
|
width: 562px;
|
||||||
|
height: 34%;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 999;
|
||||||
|
top: 582px;
|
||||||
|
// left: 50%;
|
||||||
|
right: -14%;
|
||||||
|
background: url("~@/assets/pic/ggt.png") no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
|
||||||
|
@media only screen and (max-height: 1000px) {
|
||||||
|
// top: 522px;
|
||||||
|
top: 27%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.closeIcon {
|
||||||
|
width: 16px;
|
||||||
|
background: url("~@/assets/pic/close.png") no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
height: 16px;
|
||||||
|
color: #90F2EB;
|
||||||
|
float: right;
|
||||||
|
font-size: 50px;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: 23px;
|
||||||
|
margin-top: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tabGtBox {
|
||||||
|
position: absolute;
|
||||||
|
top: 50px;
|
||||||
|
width: 90%;
|
||||||
|
height: 80%;
|
||||||
|
padding: 0 40px;
|
||||||
|
}
|
||||||
.smallBox {
|
.smallBox {
|
||||||
width: 105px;
|
width: 105px;
|
||||||
height: 28px;
|
height: 28px;
|
||||||
|
@ -1298,7 +1408,7 @@ export default {
|
||||||
span:nth-child(2) {
|
span:nth-child(2) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 85px;
|
right: 92px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
// background: url("~@/assets/pic/sun.png") no-repeat;
|
// background: url("~@/assets/pic/sun.png") no-repeat;
|
||||||
|
@ -1324,7 +1434,7 @@ export default {
|
||||||
.header .title {
|
.header .title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,15 +10,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="titRight">
|
<div class="titRight">
|
||||||
<span>{{ dateNew }} {{ getWeek }} {{ time }}</span>
|
<span>{{ dateNew }} {{ getWeek }} {{ time }}</span>
|
||||||
<span
|
<span
|
||||||
><img
|
><img
|
||||||
:src="weatherImg"
|
:src="weatherImg"
|
||||||
alt=""
|
alt=""
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
/></span>
|
/></span>
|
||||||
<span
|
<span
|
||||||
> 天气 </span
|
> 天气 </span
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
<span
|
<span
|
||||||
>{{ weatherItem.weather }} {{
|
>{{ weatherItem.weather }} {{
|
||||||
weatherItem.temperature
|
weatherItem.temperature
|
||||||
|
@ -30,13 +32,13 @@
|
||||||
<div class="ms-login">
|
<div class="ms-login">
|
||||||
<!-- <div class="ms-title"></div> -->
|
<!-- <div class="ms-title"></div> -->
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="welcome">欢迎登录</div>
|
<div class="welcome"></div>
|
||||||
<el-form :model="param" :rules="rules" ref="login" label-width="100px" label-position="top" class="ms-content">
|
<el-form :model="param" :rules="rules" ref="login" label-width="100px" label-position="top" class="ms-content">
|
||||||
<el-form-item prop="tenantId" label="" style="margin-bottom:35px">
|
<!-- <el-form-item prop="tenantId" label="" style="margin-bottom:35px">
|
||||||
<el-input v-model="param.tenantId" placeholder="请输入您的租户id">
|
<el-input v-model="param.tenantId" placeholder="请输入您的租户id">
|
||||||
<el-button slot="prepend" icon="el-icon-user"></el-button>
|
<el-button slot="prepend" icon="el-icon-user"></el-button>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item prop="username" label="" style="margin-bottom:35px">
|
<el-form-item prop="username" label="" style="margin-bottom:35px">
|
||||||
<el-input v-model="param.username" placeholder="请输入您的账号">
|
<el-input v-model="param.username" placeholder="请输入您的账号">
|
||||||
<el-button slot="prepend" icon="el-icon-user"></el-button>
|
<el-button slot="prepend" icon="el-icon-user"></el-button>
|
||||||
|
@ -51,8 +53,8 @@
|
||||||
<el-checkbox v-model="checked">保存登录</el-checkbox>
|
<el-checkbox v-model="checked">保存登录</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="login-btn">
|
<div class="login-btn" >
|
||||||
<el-button type="primary" @click="submitForm()">登录</el-button>
|
<el-button type="primary" @click="submitForm()"></el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -66,13 +68,15 @@ import mdScreenPie from "@/components/common/mdScreenPie";
|
||||||
import Swiper from "@/components/common/carousel";
|
import Swiper from "@/components/common/carousel";
|
||||||
import Resize from '../utils/Resize.vue'
|
import Resize from '../utils/Resize.vue'
|
||||||
import {getToken,getWeatherData} from "@/api/api";
|
import {getToken,getWeatherData} from "@/api/api";
|
||||||
|
import md5 from 'js-md5';
|
||||||
export default {
|
export default {
|
||||||
name: "report",
|
name: "report",
|
||||||
components: {
|
components: {
|
||||||
mdScreenPie,
|
mdScreenPie,
|
||||||
BarChart,
|
BarChart,
|
||||||
Swiper,
|
Swiper,
|
||||||
Resize
|
Resize,
|
||||||
|
md5
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -86,16 +90,17 @@ export default {
|
||||||
temperature: "12",
|
temperature: "12",
|
||||||
weather: "晴",
|
weather: "晴",
|
||||||
weatherItem: {},
|
weatherItem: {},
|
||||||
param: {
|
// param: {
|
||||||
username: 'dlgc_pic',
|
// username: 'dlgc_pic',
|
||||||
password: 'e19d5cd5af0378da05f63f891c7467af',
|
// // password: 'e19d5cd5af0378da05f63f891c7467af',
|
||||||
tenantId:'748495'
|
// password: 'abcd1234',
|
||||||
},
|
// tenantId:'748495'
|
||||||
// param: {
|
// },
|
||||||
// username: '',
|
param: {
|
||||||
// password: '',
|
username: '',
|
||||||
// tenantId:''
|
password: '',
|
||||||
// },
|
tenantId:'748495'
|
||||||
|
},
|
||||||
checked: false,
|
checked: false,
|
||||||
rules: {
|
rules: {
|
||||||
tenantId: [{ required: true, message: '账号Id不能为空', trigger: 'blur' }],
|
tenantId: [{ required: true, message: '账号Id不能为空', trigger: 'blur' }],
|
||||||
|
@ -139,10 +144,12 @@ export default {
|
||||||
scope:'all',
|
scope:'all',
|
||||||
tenantId:this.param.tenantId,
|
tenantId:this.param.tenantId,
|
||||||
username:this.param.username,
|
username:this.param.username,
|
||||||
password:this.param.password,
|
password:md5(this.param.password),
|
||||||
|
// password:this.param.password,
|
||||||
type:"account"
|
type:"account"
|
||||||
}
|
}
|
||||||
getToken(data).then((res)=>{
|
getToken(data).then((res)=>{
|
||||||
|
console.log("error_description",res)
|
||||||
if (res.status == 200) {
|
if (res.status == 200) {
|
||||||
this.$message.success('登录成功');
|
this.$message.success('登录成功');
|
||||||
// localStorage.setItem('ms_username', this.param.username);
|
// localStorage.setItem('ms_username', this.param.username);
|
||||||
|
@ -156,7 +163,12 @@ export default {
|
||||||
JSON.stringify(res.data.user_name)
|
JSON.stringify(res.data.user_name)
|
||||||
);
|
);
|
||||||
}else{
|
}else{
|
||||||
this.$message.error('请输入正确的登录信息!!!');
|
console.log("error_description")
|
||||||
|
// this.$message.error('请输入正确的登录信息!!!');
|
||||||
|
this.$message({
|
||||||
|
message: res.data.error_description,
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -335,7 +347,7 @@ getWeather () {
|
||||||
|
|
||||||
.bgPicture {
|
.bgPicture {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: url('../assets/loginImg/loginBg.png') no-repeat;
|
background: url('../assets/loginImg/loginBg1.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,7 +393,7 @@ getWeather () {
|
||||||
span:nth-child(2) {
|
span:nth-child(2) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 80px;
|
right: 92px;
|
||||||
width: 17.5px;
|
width: 17.5px;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
// background: url("~@/assets/pic/sun.png") no-repeat;
|
// background: url("~@/assets/pic/sun.png") no-repeat;
|
||||||
|
@ -394,7 +406,7 @@ getWeather () {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -622,6 +634,7 @@ getWeather () {
|
||||||
/deep/ .el-table .success-row {
|
/deep/ .el-table .success-row {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<style>.el-carousel__indicators--outside {
|
<style>.el-carousel__indicators--outside {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -642,8 +655,9 @@ getWeather () {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background: rgb(9,41,43);
|
// background: rgb(9,41,43);
|
||||||
border: none;
|
background: transparent;
|
||||||
|
border: 1px solid rgb(0,139,146);
|
||||||
.el-input-group__prepend {
|
.el-input-group__prepend {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
|
@ -651,10 +665,18 @@ getWeather () {
|
||||||
.el-input__inner {
|
.el-input__inner {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
.el-input__inner::placeholder {
|
||||||
|
color: #7b9596;
|
||||||
|
}
|
||||||
|
.el-input__inner:focus::placeholder{
|
||||||
|
opacity: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-checkbox{
|
/deep/ .el-checkbox{
|
||||||
color: #fff;
|
color: #7b9596;
|
||||||
}
|
}
|
||||||
/deep/ .el-checkbox__inner{
|
/deep/ .el-checkbox__inner{
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
@ -684,7 +706,7 @@ getWeather () {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100% - 75px);
|
height: calc(100% - 75px);
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background: url('../assets/loginImg/kuang.png') no-repeat;
|
background: url('../assets/loginImg/kuang1.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -698,8 +720,9 @@ getWeather () {
|
||||||
font-weight: 700
|
font-weight: 700
|
||||||
}
|
}
|
||||||
.ms-content {
|
.ms-content {
|
||||||
width: 80%;
|
// width: 80%;
|
||||||
margin-top: 33px;
|
width: 63%;
|
||||||
|
margin-top: 90px;
|
||||||
}
|
}
|
||||||
.login-btn {
|
.login-btn {
|
||||||
width: 75.5%;
|
width: 75.5%;
|
||||||
|
@ -711,7 +734,7 @@ getWeather () {
|
||||||
// border-radius: 20px;
|
// border-radius: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: url("../assets/loginImg/loginBtn.png") no-repeat;
|
background: url("../assets/loginImg/loginBtn1.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
border: none;
|
border: none;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
@ -929,7 +929,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1103,7 +1103,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -448,7 +448,7 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
let h = document.documentElement.clientHeight || document.body.clientHeight;
|
let h = document.documentElement.clientHeight || document.body.clientHeight;
|
||||||
this.vdaH = h - 0 + "px";
|
this.vdaH = h - 0 + "px";
|
||||||
this.createMqtt()
|
// this.createMqtt()
|
||||||
this.getTime()
|
this.getTime()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -1147,7 +1147,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -181,7 +181,7 @@
|
||||||
<div></div>
|
<div></div>
|
||||||
<div>允许通行</div>
|
<div>允许通行</div>
|
||||||
</div>
|
</div>
|
||||||
<Swiper ref="swRef" @changeMessage="changeMessage"></Swiper>
|
<Swiper ref="swRef" @changeMessage="changeMessage" :peopleList="peopleList"></Swiper>
|
||||||
</div>
|
</div>
|
||||||
<div class="leftThreeBox" :style="{ left: boxNone ? '27px' : '-444px' }">
|
<div class="leftThreeBox" :style="{ left: boxNone ? '27px' : '-444px' }">
|
||||||
<div class="titName">
|
<div class="titName">
|
||||||
|
@ -215,12 +215,12 @@
|
||||||
v-for="(item,index) in videoList"
|
v-for="(item,index) in videoList"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
>
|
||||||
<img v-show="iframeShow==false" :src="item.thumbnail" alt="" />
|
<img v-show="item.iframeShow==false" :src="item.thumbnail" alt="" />
|
||||||
<div class="openChange" @click="openChangebtn" v-show="iframeShow==false"> <img src="../assets/pic/play.png" alt=""></div>
|
<!-- <div class="openChange" @click="openChangebtn(item)" v-show="item.iframeShow==false"> <img src="../assets/pic/play.png" alt=""></div> -->
|
||||||
|
|
||||||
<!-- <Video></Video> -->
|
<!-- <Video></Video> -->
|
||||||
<iframe ref="iframe" id="iframeid" :src="src" frameborder="O" class="iframe" scrolling="auto" width="100%"
|
<iframe ref="iframe" id="iframeid" :src="src" frameborder="0" class="iframe" scrolling="auto" width="100%"
|
||||||
height="100%" v-show="iframeShow">
|
height="100%" v-show="item.iframeShow">
|
||||||
</iframe>
|
</iframe>
|
||||||
<!-- <button @click="vueSendMsg">vue向iframe传递信息</button> -->
|
<!-- <button @click="vueSendMsg">vue向iframe传递信息</button> -->
|
||||||
<div class="smallBox">{{item.equipmentName}}</div>
|
<div class="smallBox">{{item.equipmentName}}</div>
|
||||||
|
@ -248,6 +248,7 @@
|
||||||
:x-axis-data="qyList.map((item) => item.name)"
|
:x-axis-data="qyList.map((item) => item.name)"
|
||||||
:securityCheck="securityCheck"
|
:securityCheck="securityCheck"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 右侧模块3 -->
|
<!-- 右侧模块3 -->
|
||||||
|
@ -267,7 +268,7 @@
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table
|
||||||
:show-header="false"
|
:show-header="false"
|
||||||
height="150"
|
height="100%"
|
||||||
:row-style="{ height: '0' }"
|
:row-style="{ height: '0' }"
|
||||||
:cell-style="{ padding: '8px' }"
|
:cell-style="{ padding: '8px' }"
|
||||||
:row-class-name="tableRowClassName"
|
:row-class-name="tableRowClassName"
|
||||||
|
@ -605,7 +606,12 @@ export default {
|
||||||
for(var i = 0; i < environmentDataNew.length; i++){
|
for(var i = 0; i < environmentDataNew.length; i++){
|
||||||
for(var j = 0; j < this.iconPicList.length; j++){
|
for(var j = 0; j < this.iconPicList.length; j++){
|
||||||
if(this.iconPicList[j].id==environmentDataNew[i].id){
|
if(this.iconPicList[j].id==environmentDataNew[i].id){
|
||||||
this.iconPicList[j].val = environmentDataNew[i].val
|
if(environmentDataNew[i].val==''||environmentDataNew[i].val==null){
|
||||||
|
this.iconPicList[j].val = '--'
|
||||||
|
}else{
|
||||||
|
this.iconPicList[j].val = Number(environmentDataNew[i].val).toFixed(2)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -730,29 +736,29 @@ export default {
|
||||||
const res = event.data;
|
const res = event.data;
|
||||||
console.log(event)
|
console.log(event)
|
||||||
if(res.cmd == 'myIframe'){
|
if(res.cmd == 'myIframe'){
|
||||||
console.log(res)
|
console.log("myIframe",res)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// vue向iframe传递信息
|
// vue向iframe传递信息
|
||||||
vueSendMsg(){
|
vueSendMsg(val){
|
||||||
this.iframeMethods()
|
|
||||||
// const iframeWindow = this.$refs.iframe.contentWindow;
|
// const iframeWindow = this.$refs.iframe.contentWindow;
|
||||||
const iframeWindow =document.getElementById('iframeid').contentWindow;
|
const iframeWindow =document.getElementById('iframeid').contentWindow;
|
||||||
iframeWindow.postMessage({
|
iframeWindow.postMessage({
|
||||||
cmd:'myVue',
|
cmd:'myVue',
|
||||||
params : {
|
params : {
|
||||||
info: 'Vue向iframe传递的消息',
|
info: val,
|
||||||
}
|
}
|
||||||
},'*')
|
},'*')
|
||||||
|
|
||||||
},
|
},
|
||||||
// 触发iframe中的方法
|
// 触发iframe中的方法
|
||||||
iframeMethods(){
|
iframeMethods(val){
|
||||||
document.getElementById('iframeid').contentWindow.triggerByVue('通过Vue触发iframe中的方法');
|
document.getElementById('iframeid').contentWindow.triggerByVue(val);
|
||||||
},
|
},
|
||||||
openChangebtn(){
|
openChangebtn(item){
|
||||||
this.iframeShow = true
|
this.iframeShow = true
|
||||||
this.vueSendMsg()
|
this.vueSendMsg(item.url)
|
||||||
|
this.iframeMethods(item.url)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// destroyed(){
|
// destroyed(){
|
||||||
|
@ -762,6 +768,8 @@ export default {
|
||||||
|
|
||||||
//基本情况
|
//基本情况
|
||||||
getProjectInfo().then((res) => {
|
getProjectInfo().then((res) => {
|
||||||
|
console.log("res",res.data.data)
|
||||||
|
|
||||||
this.introduction = res.data.data[0].introduction;
|
this.introduction = res.data.data[0].introduction;
|
||||||
this.projectId = res.data.data[0].id;
|
this.projectId = res.data.data[0].id;
|
||||||
sessionStorage.setItem(
|
sessionStorage.setItem(
|
||||||
|
@ -778,11 +786,12 @@ export default {
|
||||||
(item, index) => {
|
(item, index) => {
|
||||||
return {
|
return {
|
||||||
label: "姓名:",
|
label: "姓名:",
|
||||||
label1: "岗位",
|
label1: "岗位:",
|
||||||
label2: "出勤时间",
|
label2: "出勤时间:",
|
||||||
name1: res.data.data.users[item].name,
|
name1: res.data.data.users[item].name,
|
||||||
name2: res.data.data.users[item].post,
|
name2: res.data.data.users[item].post,
|
||||||
time: res.data.data.users[item].inTime,
|
time: res.data.data.users[item].inTime,
|
||||||
|
picture: res.data.data.users[item].picture,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -850,8 +859,34 @@ export default {
|
||||||
//视频监控
|
//视频监控
|
||||||
getIsImportant().then((res)=>{
|
getIsImportant().then((res)=>{
|
||||||
this.videoList = Object.keys(res.data.data).map((item,index)=>{
|
this.videoList = Object.keys(res.data.data).map((item,index)=>{
|
||||||
return {thumbnail:res.data.data[item].thumbnail,equipmentName:res.data.data[item].equipmentName}
|
console.log("res.data.data11111",res.data.data)
|
||||||
|
if(res.data.data[item].url&&res.data.data[item].url!=''){
|
||||||
|
return {
|
||||||
|
|
||||||
|
thumbnail:res.data.data[item].thumbnail,
|
||||||
|
equipmentName:res.data.data[item].equipmentName,
|
||||||
|
url:res.data.data[item].url,
|
||||||
|
iframeShow:true
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
return {
|
||||||
|
|
||||||
|
thumbnail:res.data.data[item].thumbnail,
|
||||||
|
equipmentName:res.data.data[item].equipmentName,
|
||||||
|
url:res.data.data[item].url,
|
||||||
|
iframeShow:false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return {thumbnail:require('@/assets/cscs2.png'),
|
||||||
|
// equipmentName:'隧道入口监控QW_CAMERA001',
|
||||||
|
// }
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// this.$nextTick(function(){
|
// this.$nextTick(function(){
|
||||||
// this.src = '../static/flv/demo1.html';
|
// this.src = '../static/flv/demo1.html';
|
||||||
// console.log("this.$refs.iframeld",this.$refs.iframeld)
|
// console.log("this.$refs.iframeld",this.$refs.iframeld)
|
||||||
|
@ -859,6 +894,9 @@ export default {
|
||||||
// window.addEventListener("message",this.sendMessage);
|
// window.addEventListener("message",this.sendMessage);
|
||||||
// });
|
// });
|
||||||
this.src = '../static/flv/demo1.html';
|
this.src = '../static/flv/demo1.html';
|
||||||
|
for (let i = 0; i < this.videoList.length; i++) {
|
||||||
|
this.openChangebtn(this.videoList[i])
|
||||||
|
}
|
||||||
window.addEventListener('message',this.getiframeMsg)
|
window.addEventListener('message',this.getiframeMsg)
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
@ -1038,6 +1076,7 @@ window.addEventListener('message',this.getiframeMsg)
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
|
border-top-right-radius: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swiperBox {
|
.swiperBox {
|
||||||
|
@ -1166,9 +1205,12 @@ window.addEventListener('message',this.getiframeMsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
.chentChild {
|
.chentChild {
|
||||||
width: 104px;
|
// width: 104px;
|
||||||
margin-left: 14px;
|
// margin-left: 14px;
|
||||||
margin-top: 15px;
|
// margin-top: 15px;
|
||||||
|
width: 110px;
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-top: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconPic {
|
.iconPic {
|
||||||
|
@ -1267,7 +1309,7 @@ window.addEventListener('message',this.getiframeMsg)
|
||||||
top: 40px;
|
top: 40px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
.videoFat {
|
.videoFat {
|
||||||
background: gray;
|
// background: gray;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
// width: 165px;
|
// width: 165px;
|
||||||
// height: 183px;
|
// height: 183px;
|
||||||
|
@ -1275,10 +1317,11 @@ window.addEventListener('message',this.getiframeMsg)
|
||||||
width: 87%;
|
width: 87%;
|
||||||
float: left;
|
float: left;
|
||||||
margin-top: 2%;
|
margin-top: 2%;
|
||||||
|
border-radius: 5%;
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
border-radius: 5%;
|
||||||
}
|
}
|
||||||
.openChange{
|
.openChange{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -1491,7 +1534,7 @@ window.addEventListener('message',this.getiframeMsg)
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -826,7 +826,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -380,6 +380,7 @@ export default {
|
||||||
projectId: projectId,
|
projectId: projectId,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
this.constructionPersonnel = res.data.data;
|
this.constructionPersonnel = res.data.data;
|
||||||
|
console.log("this.constructionPersonnel",this.constructionPersonnel)
|
||||||
});
|
});
|
||||||
//考勤监控
|
//考勤监控
|
||||||
getAttend({
|
getAttend({
|
||||||
|
@ -757,7 +758,8 @@ export default {
|
||||||
}
|
}
|
||||||
.meetContent{
|
.meetContent{
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
height: 90%;
|
// height: 90%;
|
||||||
|
height: 84%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
@ -771,13 +773,13 @@ export default {
|
||||||
background: url("~@/assets/pic/view.png") no-repeat;
|
background: url("~@/assets/pic/view.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
float: right;
|
float: right;
|
||||||
margin-top: 13px;
|
// margin-top: 13px;
|
||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
margin-top: -5px;
|
||||||
@media only screen and (max-height: 1000px) {
|
// @media only screen and (max-height: 1000px) {
|
||||||
margin-top: -22px;
|
// margin-top: -22px;
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
.videoBox {
|
.videoBox {
|
||||||
|
@ -876,7 +878,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -989,7 +989,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
<span></span>
|
<span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="table2Box">
|
<div class="table2Box">
|
||||||
<el-table height="100%" :row-class-name="tableRowClassName" :data="table2Data" style="width: 100%" :cell-style="{ padding: '5px' }">
|
<el-table height="100%" :row-class-name="tableRowClassName" :data="table2Data" style="width: 100%" :cell-style="{ padding: '8px' }">
|
||||||
<el-table-column align="left" show-overflow-tooltip prop="name" label="任务名称" style="left:20px">
|
<el-table-column align="left" show-overflow-tooltip prop="name" label="任务名称" style="left:20px">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" prop="startDate" label="开始时间" >
|
<el-table-column align="center" prop="startDate" label="开始时间" >
|
||||||
|
@ -458,8 +458,8 @@ export default {
|
||||||
}).then((res)=>{
|
}).then((res)=>{
|
||||||
this.projectDuration[0].value = res.data.data.planStartDate
|
this.projectDuration[0].value = res.data.data.planStartDate
|
||||||
this.projectDuration[1].value = res.data.data.planEndDate
|
this.projectDuration[1].value = res.data.data.planEndDate
|
||||||
this.projectDuration[2].value = res.data.data.planTotalDay + '天'
|
this.projectDuration[2].value = res.data.data.planTotalDay + ' 天'
|
||||||
this.projectDuration[3].value = res.data.data.actualDay + '天'
|
this.projectDuration[3].value = res.data.data.actualDay + ' 天'
|
||||||
})
|
})
|
||||||
//投资进度
|
//投资进度
|
||||||
getProjectInvestment({
|
getProjectInvestment({
|
||||||
|
@ -645,8 +645,9 @@ export default {
|
||||||
|
|
||||||
.table2Box {
|
.table2Box {
|
||||||
width: 405px;
|
width: 405px;
|
||||||
height: 76%;
|
// height: 77%;
|
||||||
top: 76px;
|
height: 79%;
|
||||||
|
top: 78px;
|
||||||
left: 21px;
|
left: 21px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
@ -975,7 +976,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<div class="home">
|
<div class="home">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="boxChild">
|
<div class="boxChild">
|
||||||
<div class="fathBox"></div>
|
<div class="fathBox"><img :src="item.troubleImages" alt="" style="width:100%;height:100%"></div>
|
||||||
<div class="fath2Box">
|
<div class="fath2Box">
|
||||||
<div style="margin-left: 21px; margin-top: 8px">
|
<div style="margin-left: 21px; margin-top: 8px">
|
||||||
<span style="color: #82dddb">派单时间:</span>
|
<span style="color: #82dddb">派单时间:</span>
|
||||||
|
@ -153,6 +153,7 @@ export default {
|
||||||
status: res.data.data.records[item].status,
|
status: res.data.data.records[item].status,
|
||||||
troubleContent: res.data.data.records[item].troubleContent,
|
troubleContent: res.data.data.records[item].troubleContent,
|
||||||
troubleMark: res.data.data.records[item].troubleMark,
|
troubleMark: res.data.data.records[item].troubleMark,
|
||||||
|
troubleImages: res.data.data.records[item].troubleImages
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -205,7 +206,7 @@ export default {
|
||||||
.fathBox {
|
.fathBox {
|
||||||
width: 152px;
|
width: 152px;
|
||||||
height: 146px;
|
height: 146px;
|
||||||
background: url("~@/assets/pic/23.png") no-repeat;
|
// background: url("~@/assets/pic/23.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,6 +300,10 @@ export default {
|
||||||
}
|
}
|
||||||
.el-carousel__container {
|
.el-carousel__container {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 180px !important;
|
/* height: 180px !important; */
|
||||||
|
height: 200px !important;
|
||||||
|
}
|
||||||
|
.el-carousel__indicators--horizontal{
|
||||||
|
width:73%
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -15,36 +15,36 @@
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
videoitemUrl: {
|
// videoitemUrl: {
|
||||||
type: String,
|
// type: String,
|
||||||
default: ''
|
// default: ''
|
||||||
},
|
// },
|
||||||
videoUrllist: {
|
// videoUrllist: {
|
||||||
type: Array,
|
// type: Array,
|
||||||
default: () => {
|
// default: () => {
|
||||||
return [];
|
// return [];
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
player: null,
|
player: null,
|
||||||
url:require('../assets/map4/5.mp4'),
|
url:require('../assets/map4/5.mp4'),
|
||||||
videoitemUrl:''
|
videoitemUrl:'http://175.27.191.156:18080/transform/ch1.live.flv'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
// 监听父组件中的数据变化,重新触发Echarts
|
// 监听父组件中的数据变化,重新触发Echarts
|
||||||
videoitemUrl: {
|
// videoitemUrl: {
|
||||||
|
|
||||||
handler (val) {
|
// handler (val) {
|
||||||
console.log("val",val)
|
// console.log("val",val)
|
||||||
// this.$nextTick(() => {
|
// // this.$nextTick(() => {
|
||||||
this.videoitemUrl = val
|
// this.videoitemUrl = val
|
||||||
// })
|
// // })
|
||||||
},
|
// },
|
||||||
deep: true,
|
// deep: true,
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initVideo();
|
this.initVideo();
|
||||||
|
|
|
@ -477,7 +477,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
>
|
>
|
||||||
<!-- <img :src="item.thumbnail" alt="" style="width: 100%; height: 100%" /> -->
|
<!-- <img :src="item.thumbnail" alt="" style="width: 100%; height: 100%" /> -->
|
||||||
<img v-show="item.status==false" :src="item.thumbnail" alt="" style="width: 100%; height: 100%"/>
|
<img v-show="item.status==false" :src="item.thumbnail" alt="" style="width: 100%; height: 100%"/>
|
||||||
<div class="openChange" @click="tzSp(item.equipmentName, item.id)" v-show="item.status==false">
|
<div class="openChange" @click="tzSp(item.equipmentName, item.id,item.thumbnail)" v-show="item.status==false">
|
||||||
<img src="../assets/pic/play.png" alt="" style="width:100%;height:100%">
|
<img src="../assets/pic/play.png" alt="" style="width:100%;height:100%">
|
||||||
</div>
|
</div>
|
||||||
<iframe ref="iframe" id="iframeid" :src="src" frameborder="0" class="iframe" scrolling="auto" width="100%"
|
<iframe ref="iframe" id="iframeid" :src="src" frameborder="0" class="iframe" scrolling="auto" width="100%"
|
||||||
|
@ -124,7 +124,7 @@
|
||||||
<!-- <span class="playBox" @click="tzSp"></span> -->
|
<!-- <span class="playBox" @click="tzSp"></span> -->
|
||||||
<img
|
<img
|
||||||
:src="item.icon"
|
:src="item.icon"
|
||||||
@click="tzSp(item.name, item.id)"
|
@click="tzSp(item.name, item.id,item.thumbnail)"
|
||||||
style="
|
style="
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
|
@ -321,12 +321,14 @@ export default {
|
||||||
this.$router.go(0);
|
this.$router.go(0);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tzSp(name, id) {
|
tzSp(name, id,thumbnail) {
|
||||||
// this.$router.push('/videoViewing')
|
// this.$router.push('/videoViewing')
|
||||||
let videoObj = {
|
let videoObj = {
|
||||||
videoName: name,
|
videoName: name,
|
||||||
videoId: id,
|
videoId: id,
|
||||||
|
thumbnail:thumbnail
|
||||||
};
|
};
|
||||||
|
console.log("videoObj",videoObj)
|
||||||
this.$emit("transfer", videoObj);
|
this.$emit("transfer", videoObj);
|
||||||
},
|
},
|
||||||
getDivHeight() {
|
getDivHeight() {
|
||||||
|
@ -408,7 +410,9 @@ export default {
|
||||||
this.videoAllList = Object.keys(res.data.data).map((item, index) => {
|
this.videoAllList = Object.keys(res.data.data).map((item, index) => {
|
||||||
return {
|
return {
|
||||||
thumbnail: res.data.data[item].thumbnail,
|
thumbnail: res.data.data[item].thumbnail,
|
||||||
|
// thumbnail:require('@/assets/cscs2.png'),
|
||||||
equipmentName: res.data.data[item].equipmentName,
|
equipmentName: res.data.data[item].equipmentName,
|
||||||
|
// equipmentName:'隧道入口监控',
|
||||||
id: res.data.data[item].id,
|
id: res.data.data[item].id,
|
||||||
status:false
|
status:false
|
||||||
};
|
};
|
||||||
|
@ -422,6 +426,7 @@ export default {
|
||||||
icon: require("../assets/pic/play.png"),
|
icon: require("../assets/pic/play.png"),
|
||||||
lookOver: "查看",
|
lookOver: "查看",
|
||||||
id: res.data.data[item].id,
|
id: res.data.data[item].id,
|
||||||
|
thumbnail: res.data.data[item].thumbnail,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
this.src = '../static/flv/video1.html';
|
this.src = '../static/flv/video1.html';
|
||||||
|
@ -456,14 +461,14 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroller::-webkit-scrollbar-track {
|
.scroller::-webkit-scrollbar-track {
|
||||||
background: #053635;
|
// background: #053635;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
opacity: 0.6;
|
// opacity: 0.6;
|
||||||
border: 1px solid #0e6760;
|
// border: 1px solid #0e6760;
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroller::-webkit-scrollbar-thumb {
|
.scroller::-webkit-scrollbar-thumb {
|
||||||
width: 11em;
|
width: 6em;
|
||||||
background-color: #0e6760;
|
background-color: #0e6760;
|
||||||
-webkit-border-radius: 2em;
|
-webkit-border-radius: 2em;
|
||||||
-moz-border-radius: 2em;
|
-moz-border-radius: 2em;
|
||||||
|
@ -491,7 +496,8 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.scFathChild {
|
.scFathChild {
|
||||||
width: 311px;
|
// width: 311px;
|
||||||
|
width:23%;
|
||||||
height: 251px;
|
height: 251px;
|
||||||
margin-bottom: 43px;
|
margin-bottom: 43px;
|
||||||
border: 1px solid rgba(0, 235, 235, 0.2);
|
border: 1px solid rgba(0, 235, 235, 0.2);
|
||||||
|
@ -499,7 +505,7 @@ export default {
|
||||||
position: relative;
|
position: relative;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: All 0.2s ease-in-out;
|
transition: All 0.2s ease-in-out;
|
||||||
|
background: url("~@/assets/pic/top.png") no-repeat;
|
||||||
.childrenBox {
|
.childrenBox {
|
||||||
// width: 123px;
|
// width: 123px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
@ -600,7 +606,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -474,7 +474,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,17 @@
|
||||||
<!-- 左侧大模块-->
|
<!-- 左侧大模块-->
|
||||||
<div class="scFathBox" :style="{ height: leftOneBox }">
|
<div class="scFathBox" :style="{ height: leftOneBox }">
|
||||||
<div class="scFathChild">
|
<div class="scFathChild">
|
||||||
<img
|
<!-- <img
|
||||||
v-if="closeVideoShow"
|
v-if="closeVideoShow"
|
||||||
src="../assets/pic/bh.png"
|
src="../assets/pic/bh.png"
|
||||||
alt=""
|
alt=""
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
|
/> -->
|
||||||
|
<img
|
||||||
|
v-if="closeVideoShow"
|
||||||
|
:src="thumbnail"
|
||||||
|
alt=""
|
||||||
|
style="width: 100%; height: 100%"
|
||||||
/>
|
/>
|
||||||
<Video :videoitemUrl="videoitemUrl" :videoUrllist="videoUrllist" v-if="openVideoShow"></Video>
|
<Video :videoitemUrl="videoitemUrl" :videoUrllist="videoUrllist" v-if="openVideoShow"></Video>
|
||||||
<div class="childrenBox">
|
<div class="childrenBox">
|
||||||
|
@ -112,6 +118,7 @@
|
||||||
value-format= 'yyyy-MM-dd HH:mm:ss'
|
value-format= 'yyyy-MM-dd HH:mm:ss'
|
||||||
type="datetime"
|
type="datetime"
|
||||||
placeholder="选择日期时间"
|
placeholder="选择日期时间"
|
||||||
|
default-time="00:00:00"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -124,6 +131,7 @@
|
||||||
value-format= 'yyyy-MM-dd HH:mm:ss'
|
value-format= 'yyyy-MM-dd HH:mm:ss'
|
||||||
placeholder="选择日期时间"
|
placeholder="选择日期时间"
|
||||||
:picker-options="pickerOptions"
|
:picker-options="pickerOptions"
|
||||||
|
default-time="23:59:59"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -177,6 +185,10 @@ export default {
|
||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
|
thumbnail: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
pieChart,
|
pieChart,
|
||||||
|
@ -283,6 +295,7 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
let h = document.documentElement.clientHeight || document.body.clientHeight;
|
let h = document.documentElement.clientHeight || document.body.clientHeight;
|
||||||
this.vdaH = h - 0 + "px";
|
this.vdaH = h - 0 + "px";
|
||||||
|
console.log("thumbnail",thumbnail)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//点击播放按
|
//点击播放按
|
||||||
|
@ -570,7 +583,7 @@ export default {
|
||||||
.title {
|
.title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 168px;
|
height: 168px;
|
||||||
background: url("~@/assets/pic/title1.png") no-repeat;
|
background: url("~@/assets/pic/title1 (2).png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,8 @@
|
||||||
margin-left: -1.5em;
|
margin-left: -1.5em;
|
||||||
}
|
}
|
||||||
.videojs-flvjs-player-dimensions {
|
.videojs-flvjs-player-dimensions {
|
||||||
width: 95%!important;
|
width: 100%!important;
|
||||||
height: 200px!important;
|
height: 217px!important;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
}
|
}
|
||||||
|
@ -94,17 +94,36 @@ var player = null;
|
||||||
};
|
};
|
||||||
// iframe获取Vue传递过来的信息
|
// iframe获取Vue传递过来的信息
|
||||||
window.addEventListener("message", getVueMsg);
|
window.addEventListener("message", getVueMsg);
|
||||||
|
// function getVueMsg(event){
|
||||||
|
// const res = event.data;
|
||||||
|
// if(res.cmd == 'myVue'){
|
||||||
|
// console.log(res)
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// function triggerByVue(msg){
|
||||||
|
// console.log(msg)
|
||||||
|
// player.play();
|
||||||
|
// }
|
||||||
function getVueMsg(event){
|
function getVueMsg(event){
|
||||||
const res = event.data;
|
const res = event.data;
|
||||||
if(res.cmd == 'myVue'){
|
if(res.cmd == 'myVue'){
|
||||||
console.log(res)
|
console.log("获取vue传来的数据",res.params.info)
|
||||||
|
flvUrl = res.params.info
|
||||||
|
// console.log("flvUrl",flvUrl)
|
||||||
|
// initPlayer(res.params.info)
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function triggerByVue(msg){
|
function triggerByVue(msg){
|
||||||
console.log(msg)
|
console.log(msg)
|
||||||
player.play();
|
// flvUrl = msg
|
||||||
|
// initPlayer(msg);
|
||||||
|
// player.play();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
function initPlayer(){
|
function initPlayer(){
|
||||||
|
// console.log("val",val)
|
||||||
var videoContainer = document.getElementById("videoContainer");
|
var videoContainer = document.getElementById("videoContainer");
|
||||||
var pObjs = videoContainer.childNodes;
|
var pObjs = videoContainer.childNodes;
|
||||||
for (var i = pObjs.length - 1; i >= 0; i--) {
|
for (var i = pObjs.length - 1; i >= 0; i--) {
|
||||||
|
|
|
@ -0,0 +1,181 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>视频播放软件</title>
|
||||||
|
<link href="video-js.css" rel="stylesheet" />
|
||||||
|
<style>
|
||||||
|
body{
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: hidden;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.video-js .vjs-big-play-button{
|
||||||
|
font-size: 2.5em;
|
||||||
|
line-height: 2.3em;
|
||||||
|
height: 2.5em;
|
||||||
|
width: 2.5em;
|
||||||
|
-webkit-border-radius: 2.5em;
|
||||||
|
-moz-border-radius: 2.5em;
|
||||||
|
border-radius: 2.5em;
|
||||||
|
background-color: #73859f;
|
||||||
|
background-color: rgba(115,133,159,.5);
|
||||||
|
border-width: 0.15em;
|
||||||
|
margin-top: -1.25em;
|
||||||
|
margin-left: -1.75em;
|
||||||
|
}
|
||||||
|
/* 中间的播放箭头 */
|
||||||
|
.vjs-big-play-button .vjs-icon-placeholder {
|
||||||
|
font-size: 1.63em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 加载圆圈 */
|
||||||
|
.vjs-loading-spinner {
|
||||||
|
font-size: 2.5em;
|
||||||
|
width: 2em;
|
||||||
|
height: 2em;
|
||||||
|
border-radius: 1em;
|
||||||
|
margin-top: -1em;
|
||||||
|
margin-left: -1.5em;
|
||||||
|
}
|
||||||
|
.videojs-flvjs-player-dimensions {
|
||||||
|
width: 100%!important;
|
||||||
|
height: 286px!important;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: hidden;
|
||||||
|
}
|
||||||
|
/* #videojs-flvjs-player{
|
||||||
|
width: 100%!important;
|
||||||
|
height: 100%!important;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script src="video.min.js"></script>
|
||||||
|
<script src="flv.min.js"></script>
|
||||||
|
<script src="videojs-flvjs.min.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="videoContainer" width="100%"
|
||||||
|
height="100%" >
|
||||||
|
<video
|
||||||
|
id="videojs-flvjs-player"
|
||||||
|
class="video-js vjs-default-skin vjs-big-play-centered"
|
||||||
|
controls
|
||||||
|
preload="auto"
|
||||||
|
autoplay=true
|
||||||
|
width="100%"
|
||||||
|
height="100%"
|
||||||
|
|
||||||
|
data-setup="{}"
|
||||||
|
>
|
||||||
|
|
||||||
|
<source src="" type='video/x-flv' />
|
||||||
|
</video>
|
||||||
|
<!-- <button onclick="iframeSendMsg()">iframe向Vue传消息</button> -->
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
//var flvUrl = "ws://192.168.3.245/transform/ch1.live.flv";
|
||||||
|
var flvUrl = "http://175.27.191.156:18080/transform/ch1.live.flv";
|
||||||
|
var player = null;
|
||||||
|
// iframe向vue传递信息
|
||||||
|
function iframeSendMsg(){
|
||||||
|
window.parent.postMessage({
|
||||||
|
cmd:'myIframe',
|
||||||
|
params : {
|
||||||
|
info: 'iframe向Vue传递的消息',
|
||||||
|
}
|
||||||
|
},'*');
|
||||||
|
};
|
||||||
|
// iframe获取Vue传递过来的信息
|
||||||
|
window.addEventListener("message", getVueMsg);
|
||||||
|
function getVueMsg(event){
|
||||||
|
const res = event.data;
|
||||||
|
if(res.cmd == 'myVue'){
|
||||||
|
console.log(res)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function triggerByVue(msg){
|
||||||
|
console.log(msg)
|
||||||
|
player.play();
|
||||||
|
}
|
||||||
|
function initPlayer(){
|
||||||
|
var videoContainer = document.getElementById("videoContainer");
|
||||||
|
var pObjs = videoContainer.childNodes;
|
||||||
|
for (var i = pObjs.length - 1; i >= 0; i--) {
|
||||||
|
videoContainer.removeChild(pObjs[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
videoContainer.innerHTML = "<video id='videojs-flvjs-player' class='video-js vjs-default-skin vjs-big-play-centered' controls preload='auto' autoplay=true width='100%' height='100%' data-setup='{}'><source src="+ flvUrl +" type='video/x-flv'></video>";
|
||||||
|
|
||||||
|
player = videojs('videojs-flvjs-player', {
|
||||||
|
techOrder: ['html5', 'flvjs'],
|
||||||
|
flvjs: {
|
||||||
|
mediaDataSource: {
|
||||||
|
isLive: true,
|
||||||
|
cors: true,
|
||||||
|
withCredentials: false,
|
||||||
|
enableStashBuffer: false,
|
||||||
|
autoCleanupSourceBuffer:true,
|
||||||
|
autoCleanupMaxBackwardDuration:12,
|
||||||
|
autoCleanupMinBackwardDuration:60,
|
||||||
|
stashInitialSize:128
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
sources: [{
|
||||||
|
src: flvUrl,
|
||||||
|
type: 'video/x-flv'
|
||||||
|
}],
|
||||||
|
controls: true,
|
||||||
|
preload: "none"
|
||||||
|
},
|
||||||
|
function onPlayerReady() {
|
||||||
|
|
||||||
|
player.on('error',function(){
|
||||||
|
console.log('first source load fail')
|
||||||
|
player.src({
|
||||||
|
src: flvUrl,
|
||||||
|
type: 'video/x-flv'
|
||||||
|
});
|
||||||
|
player.ready(function() {
|
||||||
|
console.log('player ready')
|
||||||
|
player.load();
|
||||||
|
player.play();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
player.on('waiting',function(){
|
||||||
|
console.log('stream wainting....');
|
||||||
|
window.parent.postMessage({
|
||||||
|
cmd:'myIframe',
|
||||||
|
params : {
|
||||||
|
info: 'iframe向Vue传递的消息',
|
||||||
|
}
|
||||||
|
},'*');
|
||||||
|
//player.pause();
|
||||||
|
//player.dispose();
|
||||||
|
//player = null;
|
||||||
|
//initPlayer();
|
||||||
|
});
|
||||||
|
player.on('ended',function(){
|
||||||
|
console.log('stream ended....');
|
||||||
|
player.pause();
|
||||||
|
player.dispose();
|
||||||
|
player = null;
|
||||||
|
initPlayer();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
initPlayer();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</html>
|
|
@ -4,16 +4,60 @@
|
||||||
"total_days":"174",
|
"total_days":"174",
|
||||||
"time_nodes":[
|
"time_nodes":[
|
||||||
{
|
{
|
||||||
"node":"2023/2/1",
|
"node":"2023/2/01",
|
||||||
"info":"开工"
|
"info":"土建_0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node":"2023/3/1",
|
"node":"2023/2/8",
|
||||||
"info":"护栏拆除"
|
"info":"土建_1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node":"2023/3/25",
|
"node":"2023/2/16",
|
||||||
"info":"放置预制砼"
|
"info":"土建_2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/2/24",
|
||||||
|
"info":"土建_3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/3/01",
|
||||||
|
"info":"土建_4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/3/9",
|
||||||
|
"info":"土建_5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/3/17",
|
||||||
|
"info":"土建_6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/3/24",
|
||||||
|
"info":"土建_7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/4/01",
|
||||||
|
"info":"土建_8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/4/09",
|
||||||
|
"info":"土建_9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/4/17",
|
||||||
|
"info":"土建_10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/4/24",
|
||||||
|
"info":"土建_11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/5/01",
|
||||||
|
"info":"电缆敷设_0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node":"2023/5/08",
|
||||||
|
"info":"电缆敷设_1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"node":"2023/7/25",
|
"node":"2023/7/25",
|
||||||
|
|
|
@ -0,0 +1,646 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "1644225456757981186",
|
||||||
|
"workContent": "土建_0",
|
||||||
|
"completeStatus": "完成",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "17e62d0b164e42a396b2aaee817170ba",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_0",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-02-01",
|
||||||
|
"plannedEndDate": "2023-02-07",
|
||||||
|
"actualCompletionTime": "2023-02-01",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_0_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "0fe56a5e85674b4fb276b228a1e5f405",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_0",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-02-01",
|
||||||
|
"plannedEndDate": "2023-02-07",
|
||||||
|
"actualCompletionTime": "2023-02-02",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_0_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "636c42fe8f0d4998bd6b511d3513a198",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_0",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-02-01",
|
||||||
|
"plannedEndDate": "2023-02-07",
|
||||||
|
"actualCompletionTime": "2023-02-06",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_0_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225456825090049",
|
||||||
|
"workContent": "土建_1",
|
||||||
|
"completeStatus": "完成",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "6ed83243d6524f7b9be6f46163066963",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_1",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-02-08",
|
||||||
|
"plannedEndDate": "2023-02-15",
|
||||||
|
"actualCompletionTime": "2023-02-09",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_1_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "1751611703ee4d3da598309cd6c612ca",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_1",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-02-08",
|
||||||
|
"plannedEndDate": "2023-02-15",
|
||||||
|
"actualCompletionTime": "2023-02-10",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_1_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "579c9a90503f4ac3a88328190b7825c9",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_1",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-02-08",
|
||||||
|
"plannedEndDate": "2023-02-15",
|
||||||
|
"actualCompletionTime": "2023-02-15",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_1_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225456888004609",
|
||||||
|
"workContent": "土建_2",
|
||||||
|
"completeStatus": "延期完成",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "5b311eac10494e60a0c8e17669a9b535",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_2",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-02-16",
|
||||||
|
"plannedEndDate": "2023-02-23",
|
||||||
|
"actualCompletionTime": "2023-02-16",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_2_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "2a32b299250a44d9b5c989fea0a2e4db",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_2",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-02-16",
|
||||||
|
"plannedEndDate": "2023-02-23",
|
||||||
|
"actualCompletionTime": "2023-02-20",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_2_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "0a75583dff6d494393c5af0558a5fd44",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_2",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-02-16",
|
||||||
|
"plannedEndDate": "2023-02-23",
|
||||||
|
"actualCompletionTime": "2023-02-25",
|
||||||
|
"workStatus": "延期完成",
|
||||||
|
"workStatusCode": "COMPLETE_DELAY",
|
||||||
|
"positionInfo": "L_2_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225456959307778",
|
||||||
|
"workContent": "土建_3",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "e16cbdd80bc34d299c9cc9b59332af3a",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_3",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-02-24",
|
||||||
|
"plannedEndDate": "2023-02-28",
|
||||||
|
"actualCompletionTime": "2023-02-18",
|
||||||
|
"workStatus": "提前完成",
|
||||||
|
"workStatusCode": "COMPLETE_AHEAD",
|
||||||
|
"positionInfo": "L_3_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "24d16c360f324c0bbac89503fcf4435b",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_3",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-02-24",
|
||||||
|
"plannedEndDate": "2023-02-28",
|
||||||
|
"actualCompletionTime": "2023-02-25",
|
||||||
|
"workStatus": "完成",
|
||||||
|
"workStatusCode": "ACCOMPLISH",
|
||||||
|
"positionInfo": "L_3_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "5d7c56a5b6cf462e9a117ba7970016ed",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_3",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-02-24",
|
||||||
|
"plannedEndDate": "2023-02-28",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_3_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457034805250",
|
||||||
|
"workContent": "土建_4",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "a97c2d358d69457c90f67efc2aa0d12f",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_4",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-03-01",
|
||||||
|
"plannedEndDate": "2023-03-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_4_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "41cefeccf0ca47ec8e4a552c910ab2ef",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_4",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-03-01",
|
||||||
|
"plannedEndDate": "2023-03-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_4_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "c617a3b8fa6443d0aeb2490c576db72a",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_4",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-03-01",
|
||||||
|
"plannedEndDate": "2023-03-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_4_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457127079937",
|
||||||
|
"workContent": "土建_5",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "3bb814d6495c493784d21fbc13266b2f",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_5",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-03-09",
|
||||||
|
"plannedEndDate": "2023-03-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_5_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "2b553b260f3c4158bdaee4f66eaf2d96",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_5",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-03-09",
|
||||||
|
"plannedEndDate": "2023-03-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_5_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "d1626986b656443a83b9030b275c6dac",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_5",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-03-09",
|
||||||
|
"plannedEndDate": "2023-03-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_5_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457210966017",
|
||||||
|
"workContent": "土建_6",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "88c143c5ba3043cba6ae433f27f4d57f",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_6",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-03-17",
|
||||||
|
"plannedEndDate": "2023-03-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_6_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "b58d3002322c43ed83151c5cdd15996c",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_6",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-03-17",
|
||||||
|
"plannedEndDate": "2023-03-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_6_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "4a551c80472d4b0daa4016c7573013e5",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_6",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-03-17",
|
||||||
|
"plannedEndDate": "2023-03-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_6_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457286463489",
|
||||||
|
"workContent": "土建_7",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "6b984e092d2448c5a9993ca487793921",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_7",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-03-24",
|
||||||
|
"plannedEndDate": "2023-03-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_7_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "c076599492c840bb872b6b814b0fd004",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_7",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-03-24",
|
||||||
|
"plannedEndDate": "2023-03-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_7_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "9dcdc45b218b4d8098d98914c6630391",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_7",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-03-24",
|
||||||
|
"plannedEndDate": "2023-03-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_7_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457357766658",
|
||||||
|
"workContent": "土建_8",
|
||||||
|
"completeStatus": "进行中",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "95d59d46c154417187cb4434079c1c7f",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_8",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-04-01",
|
||||||
|
"plannedEndDate": "2023-04-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_8_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "7609a56e5bd84cbfafe0b6026523a806",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_8",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-04-01",
|
||||||
|
"plannedEndDate": "2023-04-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_8_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "22da43d9fc8044bbb4cab9d35f109292",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_8",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-04-01",
|
||||||
|
"plannedEndDate": "2023-04-08",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "进行中",
|
||||||
|
"workStatusCode": "PROGRESS",
|
||||||
|
"positionInfo": "L_8_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457420681218",
|
||||||
|
"workContent": "土建_9",
|
||||||
|
"completeStatus": "未开始",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "c0fcbc96eabf4018a64593af07f8e421",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_9",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-04-09",
|
||||||
|
"plannedEndDate": "2023-04-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_9_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "396dced933bf4a41a76256f1677b72f1",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_9",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-04-09",
|
||||||
|
"plannedEndDate": "2023-04-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_9_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "ca90c040fdbd4a9dad7a196d762f56cc",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_9",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-04-09",
|
||||||
|
"plannedEndDate": "2023-04-16",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_9_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457487790081",
|
||||||
|
"workContent": "土建_10",
|
||||||
|
"completeStatus": "未开始",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "485dfbf53a4b4ad19cc51d7ed7cb5687",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_10",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-04-17",
|
||||||
|
"plannedEndDate": "2023-04-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_10_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "ff51914e5e9243d59144747a723b2410",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_10",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-04-17",
|
||||||
|
"plannedEndDate": "2023-04-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_10_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "2be6428dbc7442b9a7f032a369f15314",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_10",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-04-17",
|
||||||
|
"plannedEndDate": "2023-04-23",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_10_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457571676161",
|
||||||
|
"workContent": "土建_11",
|
||||||
|
"completeStatus": "未开始",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "5135fa666dad422d9cc14c7838f22919",
|
||||||
|
"componentType": "拆除护栏",
|
||||||
|
"componentName": "拆除护栏_11",
|
||||||
|
"componentTypeCode": "cchl",
|
||||||
|
"plannedStartDate": "2023-04-24",
|
||||||
|
"plannedEndDate": "2023-04-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_11_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "0362257709504d769875e93cf500dd07",
|
||||||
|
"componentType": "预制硂",
|
||||||
|
"componentName": "预制硂_11",
|
||||||
|
"componentTypeCode": "yzt",
|
||||||
|
"plannedStartDate": "2023-04-24",
|
||||||
|
"plannedEndDate": "2023-04-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_11_100",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "499567d5dd9d4bedaff32e77c44c0737",
|
||||||
|
"componentType": "电缆架桥",
|
||||||
|
"componentName": "电缆架桥_11",
|
||||||
|
"componentTypeCode": "dljq",
|
||||||
|
"plannedStartDate": "2023-04-24",
|
||||||
|
"plannedEndDate": "2023-04-30",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_11_100",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457642979329",
|
||||||
|
"workContent": "电缆敷设_0",
|
||||||
|
"completeStatus": "未开始",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "724dbab057f14b378ccf4433701bdd88",
|
||||||
|
"componentType": "电缆敷设",
|
||||||
|
"componentName": "电缆敷设_0",
|
||||||
|
"componentTypeCode": "dlfs",
|
||||||
|
"plannedStartDate": "2023-05-01",
|
||||||
|
"plannedEndDate": "2023-05-07",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_0_900",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "1b5ea1049ee545e68dcee28f484ae4c8",
|
||||||
|
"componentType": "电缆盖板",
|
||||||
|
"componentName": "电缆盖板_0",
|
||||||
|
"componentTypeCode": "dlgb",
|
||||||
|
"plannedStartDate": "2023-05-01",
|
||||||
|
"plannedEndDate": "2023-05-07",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_0_900",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "6b51c8f5b5834b0887074f54ddd6767f",
|
||||||
|
"componentType": "恢复护栏",
|
||||||
|
"componentName": "恢复护栏_0",
|
||||||
|
"componentTypeCode": "hfhl",
|
||||||
|
"plannedStartDate": "2023-05-01",
|
||||||
|
"plannedEndDate": "2023-05-07",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_0_900",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1644225457705893889",
|
||||||
|
"workContent": "电缆敷设_1",
|
||||||
|
"completeStatus": "未开始",
|
||||||
|
"detail": [
|
||||||
|
{
|
||||||
|
"componentId": "bee0f074d11d476d907f55dc9ce93e68",
|
||||||
|
"componentType": "电缆敷设",
|
||||||
|
"componentName": "电缆敷设_1",
|
||||||
|
"componentTypeCode": "dlfs",
|
||||||
|
"plannedStartDate": "2023-05-08",
|
||||||
|
"plannedEndDate": "2023-05-15",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_1_900",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "73b87f88ce494fdfbc9ef86298a9ebb9",
|
||||||
|
"componentType": "电缆盖板",
|
||||||
|
"componentName": "电缆盖板_1",
|
||||||
|
"componentTypeCode": "dlgb",
|
||||||
|
"plannedStartDate": "2023-05-08",
|
||||||
|
"plannedEndDate": "2023-05-15",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_1_900",
|
||||||
|
"isLastProcess": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"componentId": "e167458070dd420f99e73442ccbf3741",
|
||||||
|
"componentType": "恢复护栏",
|
||||||
|
"componentName": "恢复护栏_1",
|
||||||
|
"componentTypeCode": "hfhl",
|
||||||
|
"plannedStartDate": "2023-05-08",
|
||||||
|
"plannedEndDate": "2023-05-15",
|
||||||
|
"actualCompletionTime": "",
|
||||||
|
"workStatus": "未开始",
|
||||||
|
"workStatusCode": "NOT_START",
|
||||||
|
"positionInfo": "L_1_900",
|
||||||
|
"isLastProcess": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -5,12 +5,21 @@ body { padding: 0; margin: 0 }
|
||||||
#unity-canvas { background: #231F20 }
|
#unity-canvas { background: #231F20 }
|
||||||
.unity-mobile #unity-canvas { width: 100%; height: 100% }
|
.unity-mobile #unity-canvas { width: 100%; height: 100% }
|
||||||
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
|
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
|
||||||
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
|
/* #unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center } */
|
||||||
|
#unity-logo { width: 154px; height: 130px; }
|
||||||
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
|
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
|
||||||
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
|
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
|
||||||
#unity-footer { position: relative }
|
#unity-footer { position: relative }
|
||||||
.unity-mobile #unity-footer { display: none }
|
.unity-mobile #unity-footer { display: none }
|
||||||
#unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
|
/* #unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center } */
|
||||||
|
#unity-webgl-logo { float:left; width: 204px; height: 38px;}
|
||||||
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
|
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
|
||||||
#unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
|
#unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
|
||||||
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }
|
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }
|
||||||
|
#black{
|
||||||
|
position: absolute;
|
||||||
|
left: 26%;
|
||||||
|
top: 35%;
|
||||||
|
width: 50%;
|
||||||
|
height: 20%; background: url('block.png') no-repeat center
|
||||||
|
}
|
||||||
|
|
After Width: | Height: | Size: 2.9 KiB |
|
@ -22,6 +22,9 @@
|
||||||
<div id="unity-fullscreen-button"></div>
|
<div id="unity-fullscreen-button"></div>
|
||||||
<div id="unity-build-title">MqttTest</div> -->
|
<div id="unity-build-title">MqttTest</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
<div id='black'>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
var container = document.querySelector("#unity-container");
|
var container = document.querySelector("#unity-container");
|
||||||
|
@ -30,7 +33,7 @@
|
||||||
var progressBarFull = document.querySelector("#unity-progress-bar-full");
|
var progressBarFull = document.querySelector("#unity-progress-bar-full");
|
||||||
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
|
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
|
||||||
var warningBanner = document.querySelector("#unity-warning");
|
var warningBanner = document.querySelector("#unity-warning");
|
||||||
|
var black = document.querySelector("#black");
|
||||||
// Shows a temporary message banner/ribbon for a few seconds, or
|
// Shows a temporary message banner/ribbon for a few seconds, or
|
||||||
// a permanent error message on top of the canvas if type=='error'.
|
// a permanent error message on top of the canvas if type=='error'.
|
||||||
// If type=='warning', a yellow highlight color is used.
|
// If type=='warning', a yellow highlight color is used.
|
||||||
|
@ -119,7 +122,9 @@
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
function OnSceneLoaded(){
|
function OnSceneLoaded(){
|
||||||
|
black.style.display = "none";
|
||||||
window.parent.createMqtt();
|
window.parent.createMqtt();
|
||||||
|
|
||||||
}
|
}
|
||||||
function fullScreen(){
|
function fullScreen(){
|
||||||
|
|
||||||
|
@ -136,9 +141,14 @@
|
||||||
}
|
}
|
||||||
function receiveMqttData(string){
|
function receiveMqttData(string){
|
||||||
if(unity!=null){
|
if(unity!=null){
|
||||||
console.log('Unity_ReceiveMqttData')
|
console.log('Unity_ReceiveMqttData',string)
|
||||||
unity.SendMessage("GameManager",'Unity_ReceiveMqttData',string);
|
unity.SendMessage("GameManager",'Unity_ReceiveMqttData',string);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//获取视频地址
|
||||||
|
function getVideoUrl(data){
|
||||||
|
console.log('Unity_ReceiveMqttData',data)
|
||||||
|
window.parent.gantDialog();
|
||||||
}
|
}
|
||||||
document.body.appendChild(script);
|
document.body.appendChild(script);
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -50,7 +50,8 @@ module.exports = {
|
||||||
host: myHost,
|
host: myHost,
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': { //代理的名字
|
'/api': { //代理的名字
|
||||||
target: 'http://175.27.191.156:11000/api/',
|
// target: 'http://175.27.191.156:11000/api/',
|
||||||
|
target: 'http://175.27.191.156:8181/',
|
||||||
// target: 'http://172.16.1.178:5001/',
|
// target: 'http://172.16.1.178:5001/',
|
||||||
// target: 'http://ht.api.umayle.com:2022',
|
// target: 'http://ht.api.umayle.com:2022',
|
||||||
ws: true,
|
ws: true,
|
||||||
|
|