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 periodical from './periodical/index'
|
||||
import engin from './engin'
|
||||
import tower from './device/tower/index'
|
||||
import {axios,download} from '@/utils/request'
|
||||
export default {
|
||||
project,
|
||||
|
@ -55,5 +56,6 @@ export default {
|
|||
downFile:download,
|
||||
engin,
|
||||
gzAiBoxVideo,
|
||||
gzDict
|
||||
gzDict,
|
||||
tower
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
</div>
|
||||
<div class="equipment-list-data">
|
||||
<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>
|
||||
</el-col>
|
||||
|
@ -33,20 +33,20 @@
|
|||
</div>
|
||||
<div class="equipment-list-data">
|
||||
<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>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<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 style="height:calc(100% - 283px);">
|
||||
<div class="warning-info-title" style="padding-left: 20px;position: relative;z-index: 9;">
|
||||
<div :class="'active'">监控列表</div>
|
||||
</div>
|
||||
<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)">
|
||||
<div class="item-content">
|
||||
<div class="dev-row1">
|
||||
|
@ -65,11 +65,15 @@
|
|||
<div class="dev-row1-col2">
|
||||
<div class="data-row">
|
||||
<span>设备名称:</span>
|
||||
<span>{{ it.name }}</span>
|
||||
<span>{{ it.deviceName }}</span>
|
||||
</div>
|
||||
<div class="data-row">
|
||||
<span>总包单位:</span>
|
||||
<span>{{ it.deptName }}</span>
|
||||
</div>
|
||||
<div class="data-row">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -79,13 +83,13 @@
|
|||
<div class="dev-row2-col">
|
||||
<div class="data-row">
|
||||
<span>司机:</span>
|
||||
<span>{{ it.driver }}</span>
|
||||
<span>{{ it.driName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dev-row2-col">
|
||||
<div class="data-row">
|
||||
<span>电话:</span>
|
||||
<span class="sp-tel">{{ it.driverTel }}</span>
|
||||
<span class="sp-tel">{{ it.driPhone }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -94,13 +98,13 @@
|
|||
<div class="dev-row2-col">
|
||||
<div class="data-row">
|
||||
<span>安全员:</span>
|
||||
<span>{{ it.safer }}</span>
|
||||
<span>{{ it.safName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dev-row2-col">
|
||||
<div class="data-row">
|
||||
<span>电话:</span>
|
||||
<span class="sp-tel">{{ it.saferTel }}</span>
|
||||
<span class="sp-tel">{{ it.safPhone }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -332,14 +336,15 @@ import '@/components/staff-survey-chart'
|
|||
import '@/components/tower-crane-value-1'
|
||||
import '@/components/tower-crane-value-2'
|
||||
import '@/components/safe-curve-chart'
|
||||
import debounce from "lodash.debounce";
|
||||
export default {
|
||||
//塔吊
|
||||
name: 'JhbigscreenTowerCrane',
|
||||
data() {
|
||||
return {
|
||||
index: 0,
|
||||
data1: [],
|
||||
devList: [],
|
||||
towerConfigView: [],
|
||||
towerConfigList: [],
|
||||
selDev: {},
|
||||
devBottomInfo: [],
|
||||
direction: 'right',
|
||||
|
@ -348,12 +353,20 @@ export default {
|
|||
momentData: {},
|
||||
forIndex:0,
|
||||
warningInterval:undefined,
|
||||
towerTotalNum:0,
|
||||
dept: null,
|
||||
prjs: [],
|
||||
project: null,
|
||||
projectLvlDict: [],
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
//正在发生 定时器
|
||||
this.warningInterval = setInterval(this.safeAutomaticRoll,10000);
|
||||
created() {
|
||||
this.$api.dict("project_level").then((d) => {
|
||||
this.projectLvlDict = d || [];
|
||||
});
|
||||
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.devBottomInfo = [{ 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: 58, scale1: '0', scale2: '0m' },
|
||||
{ title: "高度", data1: 59, data2: 58, scale1: '0', scale2: '0m' },
|
||||
];
|
||||
this.data1 = [
|
||||
{ text: "在线数量", value: 1 },
|
||||
{ text: "离线数量", value: 2 },
|
||||
];
|
||||
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项目'
|
||||
},]
|
||||
];
|
||||
this.$bus.$on(
|
||||
"projectChange",
|
||||
debounce((res) => {
|
||||
this.project = res||this.$root.project;
|
||||
this.dept=this.$root.dept||this.dept;
|
||||
this.prjs= this.$root.projects||this.prjs;
|
||||
this.initMe();
|
||||
})
|
||||
);
|
||||
if (this.$root.hasInitHeader) {
|
||||
this.initMe();
|
||||
}
|
||||
},
|
||||
|
||||
// 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: {
|
||||
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) {
|
||||
let tmp = 100 - (d.data2 * 100.0 / d.data1);
|
||||
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`;
|
||||
|
|
Loading…
Reference in New Issue