dev
parent
35bb45245d
commit
2cbef1c5c5
|
@ -0,0 +1,30 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
// 查询塔基配置列表
|
||||||
|
const findtowerConfigGroupOnline=(deptId, projectId)=> {
|
||||||
|
return request({
|
||||||
|
url: `bgscreen/tower/findtowerConfigGroupOnline?deptId=${deptId||0}&projectId=${projectId||0}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询塔基配置列表
|
||||||
|
const findtowerConfigListByProjectId=(deptId, projectId)=> {
|
||||||
|
return request({
|
||||||
|
url: `bgscreen/tower/findtowerConfigListByProjectId?deptId=${deptId||0}&projectId=${projectId||0}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询塔基运行数据
|
||||||
|
const findtowerStatisticsView=(deviceSn)=> {
|
||||||
|
return request({
|
||||||
|
url: `bgscreen/tower/findtowerStatisticsView?deviceSn=${deviceSn}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default{
|
||||||
|
findtowerConfigGroupOnline,
|
||||||
|
findtowerConfigListByProjectId,
|
||||||
|
findtowerStatisticsView
|
||||||
|
}
|
|
@ -25,6 +25,7 @@ import gzDict from './gzaiBox/dict'
|
||||||
import plan from './plan/index'
|
import plan from './plan/index'
|
||||||
import periodical from './periodical/index'
|
import periodical from './periodical/index'
|
||||||
import engin from './engin'
|
import engin from './engin'
|
||||||
|
import tower from './device/tower/index'
|
||||||
import {axios,download} from '@/utils/request'
|
import {axios,download} from '@/utils/request'
|
||||||
export default {
|
export default {
|
||||||
project,
|
project,
|
||||||
|
@ -55,5 +56,6 @@ export default {
|
||||||
downFile:download,
|
downFile:download,
|
||||||
engin,
|
engin,
|
||||||
gzAiBoxVideo,
|
gzAiBoxVideo,
|
||||||
gzDict
|
gzDict,
|
||||||
|
tower
|
||||||
}
|
}
|
|
@ -17,7 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="equipment-list-data">
|
<div class="equipment-list-data">
|
||||||
<p style="font-size: 16px;">塔机总数</p>
|
<p style="font-size: 16px;">塔机总数</p>
|
||||||
<div><span>3</span><span style="font-size: 12px;">台</span></div>
|
<div><span>{{towerTotalNum}}</span><span style="font-size: 12px;">台</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -33,20 +33,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="equipment-list-data">
|
<div class="equipment-list-data">
|
||||||
<p style="font-size: 16px;">监控总数</p>
|
<p style="font-size: 16px;">监控总数</p>
|
||||||
<div><span class="fgreen">3</span><span style="font-size: 12px;">台</span></div>
|
<div><span class="fgreen">{{towerTotalNum}}</span><span style="font-size: 12px;">台</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row style="height:160px;overflow: hidden;">
|
<el-row style="height:160px;overflow: hidden;">
|
||||||
<staff-survey-chart :height="200" :unit="'个'" :data="data1" :width="140"></staff-survey-chart>
|
<staff-survey-chart :height="200" :unit="'个'" :data="towerConfigView" :width="140"></staff-survey-chart>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row style="height:calc(100% - 283px);">
|
<el-row style="height:calc(100% - 283px);">
|
||||||
<div class="warning-info-title" style="padding-left: 20px;position: relative;z-index: 9;">
|
<div class="warning-info-title" style="padding-left: 20px;position: relative;z-index: 9;">
|
||||||
<div :class="'active'">监控列表</div>
|
<div :class="'active'">监控列表</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="drv-list scroll" id="listMin">
|
<div class="drv-list scroll" id="listMin">
|
||||||
<div v-for="(it, idx) in devList" :key="idx" class="drv-item list-for"
|
<div v-for="(it, idx) in towerConfigList" :key="idx" class="drv-item list-for"
|
||||||
:class="index == idx ? 'active' : ''" @click="onTowerCraneList(idx)">
|
:class="index == idx ? 'active' : ''" @click="onTowerCraneList(idx)">
|
||||||
<div class="item-content">
|
<div class="item-content">
|
||||||
<div class="dev-row1">
|
<div class="dev-row1">
|
||||||
|
@ -65,11 +65,15 @@
|
||||||
<div class="dev-row1-col2">
|
<div class="dev-row1-col2">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>设备名称:</span>
|
<span>设备名称:</span>
|
||||||
<span>{{ it.name }}</span>
|
<span>{{ it.deviceName }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="data-row">
|
||||||
|
<span>总包单位:</span>
|
||||||
|
<span>{{ it.deptName }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>设备状态:</span>
|
<span>设备状态:</span>
|
||||||
<span :class="it.state == 0 ? 'is-offline' : 'is-online'">{{ it.state == 0 ? '离线' : '在线'
|
<span :class="it.online == 2 ? 'is-offline' : 'is-online'">{{ it.online == 2 ? '离线' : '在线'
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,13 +83,13 @@
|
||||||
<div class="dev-row2-col">
|
<div class="dev-row2-col">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>司机:</span>
|
<span>司机:</span>
|
||||||
<span>{{ it.driver }}</span>
|
<span>{{ it.driName }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dev-row2-col">
|
<div class="dev-row2-col">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>电话:</span>
|
<span>电话:</span>
|
||||||
<span class="sp-tel">{{ it.driverTel }}</span>
|
<span class="sp-tel">{{ it.driPhone }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -94,13 +98,13 @@
|
||||||
<div class="dev-row2-col">
|
<div class="dev-row2-col">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>安全员:</span>
|
<span>安全员:</span>
|
||||||
<span>{{ it.safer }}</span>
|
<span>{{ it.safName }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dev-row2-col">
|
<div class="dev-row2-col">
|
||||||
<div class="data-row">
|
<div class="data-row">
|
||||||
<span>电话:</span>
|
<span>电话:</span>
|
||||||
<span class="sp-tel">{{ it.saferTel }}</span>
|
<span class="sp-tel">{{ it.safPhone }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -332,14 +336,15 @@ import '@/components/staff-survey-chart'
|
||||||
import '@/components/tower-crane-value-1'
|
import '@/components/tower-crane-value-1'
|
||||||
import '@/components/tower-crane-value-2'
|
import '@/components/tower-crane-value-2'
|
||||||
import '@/components/safe-curve-chart'
|
import '@/components/safe-curve-chart'
|
||||||
|
import debounce from "lodash.debounce";
|
||||||
export default {
|
export default {
|
||||||
//塔吊
|
//塔吊
|
||||||
name: 'JhbigscreenTowerCrane',
|
name: 'JhbigscreenTowerCrane',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
index: 0,
|
index: 0,
|
||||||
data1: [],
|
towerConfigView: [],
|
||||||
devList: [],
|
towerConfigList: [],
|
||||||
selDev: {},
|
selDev: {},
|
||||||
devBottomInfo: [],
|
devBottomInfo: [],
|
||||||
direction: 'right',
|
direction: 'right',
|
||||||
|
@ -348,12 +353,20 @@ export default {
|
||||||
momentData: {},
|
momentData: {},
|
||||||
forIndex:0,
|
forIndex:0,
|
||||||
warningInterval:undefined,
|
warningInterval:undefined,
|
||||||
|
towerTotalNum:0,
|
||||||
|
dept: null,
|
||||||
|
prjs: [],
|
||||||
|
project: null,
|
||||||
|
projectLvlDict: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
created() {
|
||||||
mounted() {
|
this.$api.dict("project_level").then((d) => {
|
||||||
//正在发生 定时器
|
this.projectLvlDict = d || [];
|
||||||
this.warningInterval = setInterval(this.safeAutomaticRoll,10000);
|
});
|
||||||
|
this.initMe();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
this.momentData = JSON.parse('{"point":[[null,null]],"dataX":[15,20,25,30,35,40,45,50,55,60],"dataY":[3,3,3,3,2.59,2.2,1.9,1.66,1.46,1.3]}');
|
this.momentData = JSON.parse('{"point":[[null,null]],"dataX":[15,20,25,30,35,40,45,50,55,60],"dataY":[3,3,3,3,2.59,2.2,1.9,1.66,1.46,1.3]}');
|
||||||
this.devBottomInfo = [{ title: "幅度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
this.devBottomInfo = [{ title: "幅度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
{ title: "风速", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
{ title: "风速", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
|
@ -361,95 +374,170 @@ export default {
|
||||||
{ title: "倾角", data1: 59, data2: 5, scale1: '0', scale2: '0m' },
|
{ title: "倾角", data1: 59, data2: 5, scale1: '0', scale2: '0m' },
|
||||||
{ title: "转角", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
{ title: "转角", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
{ title: "高度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
{ title: "高度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
];
|
];
|
||||||
this.data1 = [
|
this.$bus.$on(
|
||||||
{ text: "在线数量", value: 1 },
|
"projectChange",
|
||||||
{ text: "离线数量", value: 2 },
|
debounce((res) => {
|
||||||
];
|
this.project = res||this.$root.project;
|
||||||
this.devList = [{
|
this.dept=this.$root.dept||this.dept;
|
||||||
name: "xxxxxx1#塔机",
|
this.prjs= this.$root.projects||this.prjs;
|
||||||
state: 0,
|
this.initMe();
|
||||||
driver: "张大三,张小山",
|
})
|
||||||
driverTel: "1338899090,133889902",
|
);
|
||||||
safer: "张九",
|
if (this.$root.hasInitHeader) {
|
||||||
saferTel: "13388664433",
|
this.initMe();
|
||||||
buttress: "21.4/35.9",
|
}
|
||||||
power: "80",
|
|
||||||
selected: true,
|
|
||||||
postArmLength: 10,
|
|
||||||
downHeight: 10,
|
|
||||||
torqueData: 10,
|
|
||||||
overload: 10,
|
|
||||||
enterTime: "2024-02-02 14:00",
|
|
||||||
ampData: 10,//幅度
|
|
||||||
foreArmLength: 0,//臂长
|
|
||||||
heightData: 0,//当前高度
|
|
||||||
angleData: 0,//角度
|
|
||||||
}, {
|
|
||||||
name: "xxxxxx2#塔机",
|
|
||||||
state: 0,
|
|
||||||
buttress: "21.4/35.9",
|
|
||||||
power: "80",
|
|
||||||
driver: "张大三,张小山",
|
|
||||||
driverTel: "1338899090,133889902",
|
|
||||||
safer: "张九",
|
|
||||||
saferTel: "13388664433",
|
|
||||||
selected: false,
|
|
||||||
postArmLength: 20,
|
|
||||||
downHeight: 20,
|
|
||||||
torqueData: 20,
|
|
||||||
overload: 20,
|
|
||||||
enterTime: "2024-02-02 14:00",
|
|
||||||
ampData: 20,//幅度
|
|
||||||
foreArmLength: 20,//臂长
|
|
||||||
heightData: 20,//当前高度
|
|
||||||
angleData: 20,//角度
|
|
||||||
}, {
|
|
||||||
name: "xxxxxx3#塔机",
|
|
||||||
state: 1,
|
|
||||||
buttress: "21.4/35.9",
|
|
||||||
power: "80",
|
|
||||||
driver: "张大三,张小山",
|
|
||||||
driverTel: "1338899090,133889902",
|
|
||||||
safer: "张九",
|
|
||||||
saferTel: "13388664433",
|
|
||||||
selected: false,
|
|
||||||
postArmLength: 30,
|
|
||||||
downHeight: 30,
|
|
||||||
torqueData: 30,
|
|
||||||
overload: 30,
|
|
||||||
enterTime: "2024-02-02 14:00",
|
|
||||||
ampData: 30,//幅度
|
|
||||||
foreArmLength: 30,//臂长
|
|
||||||
heightData: 30,//当前高度
|
|
||||||
angleData: 30,//角度
|
|
||||||
}];
|
|
||||||
this.selDev = this.devList[0];
|
|
||||||
this.warningData = [{
|
|
||||||
warn_name: "预警A",
|
|
||||||
images: ['images/831.jpg'],
|
|
||||||
towerName: 'XXXX塔机',
|
|
||||||
warn_context: '告警内容',
|
|
||||||
warn_time: '24-02-02 14:00',
|
|
||||||
project_abbreviation: 'xxx项目'
|
|
||||||
}, {
|
|
||||||
warn_name: "预警A",
|
|
||||||
images: ['images/831.jpg'],
|
|
||||||
towerName: 'XXXX塔机',
|
|
||||||
warn_context: '告警内容',
|
|
||||||
warn_time: '24-02-02 14:00',
|
|
||||||
project_abbreviation: 'xxx项目'
|
|
||||||
}, {
|
|
||||||
warn_name: "预警A",
|
|
||||||
images: ['images/831.jpg'],
|
|
||||||
towerName: 'XXXX塔机',
|
|
||||||
warn_context: '告警内容',
|
|
||||||
warn_time: '24-02-02 14:00',
|
|
||||||
project_abbreviation: 'xxx项目'
|
|
||||||
},]
|
|
||||||
},
|
},
|
||||||
|
// mounted() {
|
||||||
|
// //正在发生 定时器
|
||||||
|
// this.warningInterval = setInterval(this.safeAutomaticRoll,10000);
|
||||||
|
// this.momentData = JSON.parse('{"point":[[null,null]],"dataX":[15,20,25,30,35,40,45,50,55,60],"dataY":[3,3,3,3,2.59,2.2,1.9,1.66,1.46,1.3]}');
|
||||||
|
// this.devBottomInfo = [{ title: "幅度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
|
// { title: "风速", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
|
// { title: "吊重", data1: 13.8, data2: 10.8, scale1: '0', scale2: '0m' },
|
||||||
|
// { title: "倾角", data1: 59, data2: 5, scale1: '0', scale2: '0m' },
|
||||||
|
// { title: "转角", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
|
// { title: "高度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||||
|
// ];
|
||||||
|
// this.devList = [{
|
||||||
|
// name: "xxxxxx1#塔机",
|
||||||
|
// state: 0,
|
||||||
|
// driver: "张大三,张小山",
|
||||||
|
// driverTel: "1338899090,133889902",
|
||||||
|
// safer: "张九",
|
||||||
|
// saferTel: "13388664433",
|
||||||
|
// buttress: "21.4/35.9",
|
||||||
|
// power: "80",
|
||||||
|
// selected: true,
|
||||||
|
// postArmLength: 10,
|
||||||
|
// downHeight: 10,
|
||||||
|
// torqueData: 10,
|
||||||
|
// overload: 10,
|
||||||
|
// enterTime: "2024-02-02 14:00",
|
||||||
|
// ampData: 10,//幅度
|
||||||
|
// foreArmLength: 0,//臂长
|
||||||
|
// heightData: 0,//当前高度
|
||||||
|
// angleData: 0,//角度
|
||||||
|
// }, {
|
||||||
|
// name: "xxxxxx2#塔机",
|
||||||
|
// state: 0,
|
||||||
|
// buttress: "21.4/35.9",
|
||||||
|
// power: "80",
|
||||||
|
// driver: "张大三,张小山",
|
||||||
|
// driverTel: "1338899090,133889902",
|
||||||
|
// safer: "张九",
|
||||||
|
// saferTel: "13388664433",
|
||||||
|
// selected: false,
|
||||||
|
// postArmLength: 20,
|
||||||
|
// downHeight: 20,
|
||||||
|
// torqueData: 20,
|
||||||
|
// overload: 20,
|
||||||
|
// enterTime: "2024-02-02 14:00",
|
||||||
|
// ampData: 20,//幅度
|
||||||
|
// foreArmLength: 20,//臂长
|
||||||
|
// heightData: 20,//当前高度
|
||||||
|
// angleData: 20,//角度
|
||||||
|
// }, {
|
||||||
|
// name: "xxxxxx3#塔机",
|
||||||
|
// state: 1,
|
||||||
|
// buttress: "21.4/35.9",
|
||||||
|
// power: "80",
|
||||||
|
// driver: "张大三,张小山",
|
||||||
|
// driverTel: "1338899090,133889902",
|
||||||
|
// safer: "张九",
|
||||||
|
// saferTel: "13388664433",
|
||||||
|
// selected: false,
|
||||||
|
// postArmLength: 30,
|
||||||
|
// downHeight: 30,
|
||||||
|
// torqueData: 30,
|
||||||
|
// overload: 30,
|
||||||
|
// enterTime: "2024-02-02 14:00",
|
||||||
|
// ampData: 30,//幅度
|
||||||
|
// foreArmLength: 30,//臂长
|
||||||
|
// heightData: 30,//当前高度
|
||||||
|
// angleData: 30,//角度
|
||||||
|
// }];
|
||||||
|
// this.selDev = this.devList[0];
|
||||||
|
// this.warningData = [{
|
||||||
|
// warn_name: "预警A",
|
||||||
|
// images: ['images/831.jpg'],
|
||||||
|
// towerName: 'XXXX塔机',
|
||||||
|
// warn_context: '告警内容',
|
||||||
|
// warn_time: '24-02-02 14:00',
|
||||||
|
// project_abbreviation: 'xxx项目'
|
||||||
|
// }, {
|
||||||
|
// warn_name: "预警A",
|
||||||
|
// images: ['images/831.jpg'],
|
||||||
|
// towerName: 'XXXX塔机',
|
||||||
|
// warn_context: '告警内容',
|
||||||
|
// warn_time: '24-02-02 14:00',
|
||||||
|
// project_abbreviation: 'xxx项目'
|
||||||
|
// }, {
|
||||||
|
// warn_name: "预警A",
|
||||||
|
// images: ['images/831.jpg'],
|
||||||
|
// towerName: 'XXXX塔机',
|
||||||
|
// warn_context: '告警内容',
|
||||||
|
// warn_time: '24-02-02 14:00',
|
||||||
|
// project_abbreviation: 'xxx项目'
|
||||||
|
// },]
|
||||||
|
// },
|
||||||
methods: {
|
methods: {
|
||||||
|
initMe(){
|
||||||
|
this.initTowerConfigView();
|
||||||
|
this.initTowerConfigList();
|
||||||
|
},
|
||||||
|
getProjectId(cb) {
|
||||||
|
let func = () => {
|
||||||
|
let prjId = this.project?.id || 0;
|
||||||
|
if (prjId == 0) {
|
||||||
|
if (!this.prjs || this.prjs.length == 0) {
|
||||||
|
setTimeout(func, 100);
|
||||||
|
} else {
|
||||||
|
if (this.prjs.length > 1) {
|
||||||
|
cb && cb(this.prjs[1].id);
|
||||||
|
} else {
|
||||||
|
cb(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cb && cb(prjId);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
func();
|
||||||
|
},
|
||||||
|
initTowerConfigView(){
|
||||||
|
this.getProjectId((id) => {
|
||||||
|
this.$api.tower.findtowerConfigGroupOnline(null,id).then((d) => {
|
||||||
|
let list = [];
|
||||||
|
let total = 0;
|
||||||
|
if(d.data && d.data.length>0){
|
||||||
|
d.data.forEach(datum => {
|
||||||
|
total += datum.total;
|
||||||
|
if(datum.online==1){
|
||||||
|
list.push({ text: "在线数量", value: datum.total });
|
||||||
|
}else{
|
||||||
|
list.push({ text: "离线数量", value: datum.total });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.towerTotalNum = total;
|
||||||
|
this.towerConfigView = list;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
initTowerConfigList(){
|
||||||
|
this.getProjectId((id) => {
|
||||||
|
this.$api.tower.findtowerConfigListByProjectId(null,id).then((d) => {
|
||||||
|
this.towerConfigList = d.data||[];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
initCountData(){
|
||||||
|
this.$api.tower.findtowerStatisticsView(this.selDev.deviceSn).then((d) => {
|
||||||
|
//this.towerConfigList = d.data||[];
|
||||||
|
});
|
||||||
|
},
|
||||||
calcTop(d) {
|
calcTop(d) {
|
||||||
let tmp = 100 - (d.data2 * 100.0 / d.data1);
|
let tmp = 100 - (d.data2 * 100.0 / d.data1);
|
||||||
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`;
|
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`;
|
||||||
|
|
Loading…
Reference in New Issue