This commit is contained in:
caoqianming 2022-12-20 20:42:54 +08:00
commit 219047e8a6
15 changed files with 559 additions and 244 deletions

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= VUE_APP_TITLE %></title> <title><%= VUE_APP_TITLE %></title>
<script src="./jsmap/jsmap.js"> </script> <!-- <script src="./jsmap/jsmap.js"> </script> -->
<link type="text/css" href="./jsmap/jsmap.css" rel="stylesheet"/> <link type="text/css" href="./jsmap/jsmap.css" rel="stylesheet"/>
<script type="text/javascript"> <script type="text/javascript">
document.write("<script src='config.js?"+new Date().getTime()+"'><\/script>"); document.write("<script src='config.js?"+new Date().getTime()+"'><\/script>");

View File

@ -11,6 +11,22 @@ export default {
} }
} }
}, },
dbbackup: {
list: {
url: `${config.API_URL}/monitor/dbbackup/`,
name: "数据库备份",
req: async function(data){
return await http.get(this.url, data);
}
},
deletes: {
url: `${config.API_URL}/monitor/dbbackup/`,
name: "数据库备份",
req: async function(data){
return await http.delete(this.url, data);
}
}
},
file_logs: { file_logs: {
list: { list: {
url: `${config.API_URL}/monitor/log/`, url: `${config.API_URL}/monitor/log/`,

File diff suppressed because one or more lines are too long

View File

@ -310,12 +310,43 @@ export default {
areaPoints:[], areaPoints:[],
areaFloorId:1, areaFloorId:1,
cate_: { post: "岗位", org: "单位", people: "人员" }, cate_: { post: "岗位", org: "单位", people: "人员" },
canUseMap:false,
}; };
}, },
mounted() { mounted() {
let that = this;
let host = window.location.host;
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
that.loadScript('mapId',jsUrl, () => {
that.canUseMap = true;
})
// this.getAccessList(); // this.getAccessList();
}, },
methods: { methods: {
loadScript(id, url, callback) {
debugger;
//idjs
if (document.querySelector(`#${id}`)) {
callback && callback()
return;
}
// script
const script = document.createElement('script');
script.src = url;
//id
script.setAttribute('id', id);
//script
const firstScript = document.getElementsByTagName('script')[0];
//script BODY,bodyscriptjs
firstScript.parentNode.insertBefore(script, firstScript);
//script
script.onload = script.onreadystatechange = function() {
//
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
callback && callback()
}
};
},
/// ///
handleForm(type, row) { handleForm(type, row) {
this.dialog.save = true; this.dialog.save = true;
@ -358,7 +389,12 @@ export default {
} }
this.areaId = row.id; this.areaId = row.id;
this.areaName = row.name; this.areaName = row.name;
this.dialog.saveRail = true; if(this.canUseMap){
this.dialog.saveRail = true;
}else{
this.$message("地图组件加载中,请稍后")
}
}, },
// //
handleDel(row) { handleDel(row) {

View File

@ -5,17 +5,6 @@
<el-button type="primary" icon="el-icon-refresh" @click="syncData" :syncLoading="syncLoading">同步</el-button> <el-button type="primary" icon="el-icon-refresh" @click="syncData" :syncLoading="syncLoading">同步</el-button>
</div> </div>
<div class="right-panel"> <div class="right-panel">
<!-- <el-input
v-model="query.code"
placeholder="编号"
clearable
@click="handleQuery"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button> -->
</div> </div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
@ -96,11 +85,44 @@ export default {
channelName: "", channelName: "",
channelArea: '', channelArea: '',
channelAreas: [], channelAreas: [],
canUseMap:false
}; };
}, },
mounted(){
let that = this;
let host = window.location.host;
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
that.loadScript('mapId',jsUrl, () => {
that.canUseMap = true;
})
},
methods: { methods: {
loadScript(id, url, callback) {
debugger;
//idjs
if (document.querySelector(`#${id}`)) {
callback && callback()
return;
}
// script
const script = document.createElement('script');
script.src = url;
//id
script.setAttribute('id', id);
//script
const firstScript = document.getElementsByTagName('script')[0];
//script BODY,bodyscriptjs
firstScript.parentNode.insertBefore(script, firstScript);
//script
script.onload = script.onreadystatechange = function() {
//
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
callback && callback()
}
};
},
handlePosition(row) { handlePosition(row) {
debugger; // debugger;
console.log(row) console.log(row)
if(row.my_info.id&&row.my_info.id!==null){ if(row.my_info.id&&row.my_info.id!==null){
this.channelId = row.my_info.id ? row.my_info.id : null; this.channelId = row.my_info.id ? row.my_info.id : null;
@ -108,7 +130,11 @@ export default {
this.channelAreas = row.my_info.areas ? row.my_info.areas : []; this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
this.channelLocation = row.my_info.location ? row.my_info.location : {}; this.channelLocation = row.my_info.location ? row.my_info.location : {};
this.channelName = row.name; this.channelName = row.name;
this.dialogSave = true; if(this.canUseMap){
this.dialogSave = true;
}else{
this.$message("地图组件加载中,请稍后")
}
}else{ }else{
this.$message.error("请先完成设备同步"); this.$message.error("请先完成设备同步");
} }

View File

@ -148,6 +148,7 @@ export default {
2: "球机", 2: "球机",
3: "半球", 3: "半球",
}, },
canUseMap:false,
}; };
}, },
created() { created() {
@ -159,8 +160,38 @@ export default {
}, },
mounted(){ mounted(){
this.getArea(); this.getArea();
let that = this;
let host = window.location.host;
let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
that.loadScript('mapId',jsUrl, () => {
that.canUseMap = true;
})
}, },
methods: { methods: {
loadScript(id, url, callback) {
debugger;
//idjs
if (document.querySelector(`#${id}`)) {
callback && callback()
return;
}
// script
const script = document.createElement('script');
script.src = url;
//id
script.setAttribute('id', id);
//script
const firstScript = document.getElementsByTagName('script')[0];
//script BODY,bodyscriptjs
firstScript.parentNode.insertBefore(script, firstScript);
//script
script.onload = script.onreadystatechange = function() {
//
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
callback && callback()
}
};
},
getAllVchannel(){ getAllVchannel(){
debugger; debugger;
this.$API.am.video.list.req({pageSize:999}).then(res=>{ this.$API.am.video.list.req({pageSize:999}).then(res=>{
@ -175,20 +206,6 @@ export default {
that.channelCode = row.channelCode; that.channelCode = row.channelCode;
that.channelName = row.channelName; that.channelName = row.channelName;
that.limitedVisible = true; that.limitedVisible = true;
// that.$API.am.video.item.req(this.params).then((res) => {
// this.url = res.url;
// if (flvjs.isSupported()) {
// let videoElement = document.getElementById("videoElement");
// that.flvPlayer = flvjs.createPlayer({
// type: "flv",
// url: res.url,
// });
// that.flvPlayer.attachMediaElement(videoElement);
// that.flvPlayer.load();
// that.flvPlayer.play();
// }
// });
}, },
viewClose() { viewClose() {
this.limitedVisible = false; this.limitedVisible = false;
@ -208,7 +225,12 @@ export default {
this.channelAreas = row.my_info.areas ? row.my_info.areas : []; this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
this.channelLocation = row.my_info.location ? row.my_info.location : {}; this.channelLocation = row.my_info.location ? row.my_info.location : {};
this.channelName = row.channelName; this.channelName = row.channelName;
this.dialogSave = true; if(this.canUseMap){
this.dialogSave = true;
}else{
this.$message("地图组件加载中,请稍后")
}
}else{ }else{
this.$message.error("请先完成设备同步"); this.$message.error("请先完成设备同步");
} }

View File

@ -773,7 +773,7 @@ export default {
audioList:{}, audioList:{},
employeeScroll:0, employeeScroll:0,
searchKeyWord:'', searchKeyWord:'',
ElLoading:null
} }
}, },
// created() { // created() {
@ -793,198 +793,204 @@ export default {
that.timerTime = setInterval(() => { that.timerTime = setInterval(() => {
that.showTime(); that.showTime();
}, 1000); }, 1000);
window.map = new jsmap.JSMap({ let host = window.location.host;
mapType: jsmap.JSMapType.MAP_3D, // let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
container: 'mapContainer', let jsUrl = '/jsmap/jsmap.js';
mapServerURL: 'data/map', that.loadScript('mapId',jsUrl, () => {
enableShadows: false, // false window.map = new jsmap.JSMap({
enableLighting: false, // false mapType: jsmap.JSMapType.MAP_3D,
showBuildingMarker: true, container: 'mapContainer',
// showNavigationDisplay: true, mapServerURL: 'data/map',
mapScaleLevelRange: [16, 23],// 1623,[1,24] enableShadows: false, // false
floorControlOptions: { enableLighting: false, // false
floorHeight: 20,// showBuildingMarker: true,
position: jsmap.JSControlPosition.RIGHT_TOP,// // showNavigationDisplay: true,
offset: { mapScaleLevelRange: [16, 23],// 1623,[1,24]
x: 50, floorControlOptions: {
y: 200, floorHeight: 20,//
}// position: jsmap.JSControlPosition.RIGHT_TOP,//
}, offset: {
imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT, x: 50,
backgroundColor: '#3798ff', // y: 200,
viewOptions: { }//
// },
center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 }, imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT,
// center: {x:120,y:30,z:10}, backgroundColor: '#3798ff', //
//m viewOptions: {
distance: 550, //
// ° center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 },
rotate: 0, // center: {x:120,y:30,z:10},
//° //m
tilt: 45, distance: 550,
} // °
}); rotate: 0,
window.map.openMapById('0000'); //°
window.map.on('loadComplete', e => { tilt: 45,
that.riskMaskerLayers();//
that.userMaskerLayers();//
that.cameraMaskerLayers();//
that.domMarkerLayers();//
that.polygonMarkerLayers();//
that.speakersMaskerLayers();//
// that.jobDomMarkerLayers();//
that.areaMarkerLayers();//
let compassControl = new jsmap.JSCompassControl({
position: jsmap.JSControlPosition.LEFT_TOP,
offset: {
x: 420,
y: 50
} }
}); });
window.map.addControl(compassControl); window.map.openMapById('0000');
let zoomControl = new jsmap.JSZoomControl({ window.map.on('loadComplete', e => {
position: jsmap.JSControlPosition.LEFT_TOP, that.riskMaskerLayers();//
offset: { that.userMaskerLayers();//
x: 450, that.cameraMaskerLayers();//
y: 5 that.domMarkerLayers();//
} that.polygonMarkerLayers();//
}); that.speakersMaskerLayers();//
window.map.addControl(zoomControl); // that.jobDomMarkerLayers();//
}); that.areaMarkerLayers();//
window.map.on('mapClickNode', event => { let compassControl = new jsmap.JSCompassControl({
let item = event; position: jsmap.JSControlPosition.LEFT_TOP,
let that = this; offset: {
let type = event.nodeType.toString(); x: 420,
console.log(type === 'Symbol(icontextmaker)'); y: 50
if (item.markers.length > 0) {
if (type === 'Symbol(boxmarker)') {
let areaId = item.properties.get("areaId");
console.log(areaId);
that.$API.am.area.item.req(areaId).then(res=>{
that.areaItemDetail = res;
that.screenJob = false;
that.screenWarning = false;
that.screenRisk = true;
})
//
} else if (type === 'Symbol(icontextmaker)') {
//
if (document.getElementById(item.markers[0].id) === null) {
if (item.markers[0].image === "/img/camera.svg") {
//
this.params.json.data.channelId = item.markers[0].id;
let domMarker = new jsmap.JSDomMarker({
id: item.markers[0].id + 'mark',
position: new jsmap.JSPoint(item.markers[0].position.x, item.markers[0].position.y, 0),
floorId: 1,
depthTest: true,
content: `<div id="` + item.markers[0].id + `" style="display: block;position:absolute;z-index: 10;top: 0;background: rgba(24,36,51,.7);padding: 0 16px 16px;box-sizing: border-box" id="vchannelWrap"></div>`,
offset: jsmap.JSControlPosition.RIGHT_CENTER,
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
marginOffset: {
x: 30,
y: -50
},
properties: {
type: 0,
},
callback: (node) => {
console.log(node);
}
});
this.domMarkerLayer.addMarker(domMarker);
var otest = document.getElementById(item.markers[0].id);
// dom,icon
let newEle = document.createElement("div");
newEle.className = "v_title";
newEle.setAttribute("style", "display:flex;justify-content: space-between;padding:10px 0");
let title = document.createElement("div");
title.innerText = "实时监控";
newEle.style.color = "#ffffff";
let close = document.createElement("div");
close.className = "v_close";
close.setAttribute("style", "width: 16px;height: 16px;background: url(/img/close.png) no-repeat;background-size: 100% 100%;");
newEle.appendChild(title);
newEle.appendChild(close);
let newEle2 = document.createElement("video");
newEle2.id = item.markers[0].id + 'videoPlayer';
newEle2.setAttribute("style", "width: 327px;height:183px;background:url('/img/v_mask.png') no-repeat;background-size: 100% 100%;");
// dom dom
otest.appendChild(newEle);
otest.appendChild(newEle2);
newEle2.onclick = () => {
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
this.$API.am.video.item.req(this.params).then(res => {
console.log(res);
this.url = res.url;
let URLS = res.url.replace('192.168.10.253',sysConfig.VUE_APP_VIDEOHOST);
if (flvjs.isSupported()) {
let videoElement = document.getElementById(item.markers[0].id + 'videoPlayer');
var mediaDataSource = {
type: 'flv',
hasAudio:false,
hasVideo:true,
isLive:false,
withCredentials:false,
url:URLS
};
let flvPlayer = flvjs.createPlayer(mediaDataSource, {
enableWorker: false,
lazyLoadMaxDuration: 3 * 60,
seekType: 'range',
});
flvPlayer.attachMediaElement(videoElement);
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
flvPlayer.load();
}
})
};
close.onclick = () => {
let nodeMark = document.getElementById(item.markers[0].id);
nodeMark.remove();
}
} else {
//
that.screenUserItem = item.properties.get("employee");
that.screenUser = true;
// debugger;
window.map.flyToMarker(that.userMarker[that.screenUserItem.mac], {
duration: 1000,
range: 200
})
}
} }
} else if (type === 'Symbol(polygonmarker)') { });
// window.map.addControl(compassControl);
that.screenRisk = false; let zoomControl = new jsmap.JSZoomControl({
that.screenWarning = false; position: jsmap.JSControlPosition.LEFT_TOP,
that.areaDetailId = item.properties.get("area"); offset: {
let areaWork = that.areaList.filter(area=>{ x: 450,
return area.id==that.areaDetailId y: 5
}); }
});
window.map.addControl(zoomControl);
});
window.map.on('mapClickNode', event => {
let item = event;
let that = this;
let type = event.nodeType.toString();
console.log(type === 'Symbol(icontextmaker)');
if (item.markers.length > 0) {
if (type === 'Symbol(boxmarker)') {
let areaId = item.properties.get("areaId");
console.log(areaId);
that.$API.am.area.item.req(areaId).then(res=>{
that.areaItemDetail = res;
that.screenJob = false;
that.screenWarning = false;
that.screenRisk = true;
})
//
} else if (type === 'Symbol(icontextmaker)') {
//
if (document.getElementById(item.markers[0].id) === null) {
if (item.markers[0].image === "/img/camera.svg") {
//
this.params.json.data.channelId = item.markers[0].id;
let domMarker = new jsmap.JSDomMarker({
id: item.markers[0].id + 'mark',
position: new jsmap.JSPoint(item.markers[0].position.x, item.markers[0].position.y, 0),
floorId: 1,
depthTest: true,
content: `<div id="` + item.markers[0].id + `" style="display: block;position:absolute;z-index: 10;top: 0;background: rgba(24,36,51,.7);padding: 0 16px 16px;box-sizing: border-box" id="vchannelWrap"></div>`,
offset: jsmap.JSControlPosition.RIGHT_CENTER,
displayCondition: new jsmap.JSDisplayCondition(0.0, 1000),
marginOffset: {
x: 30,
y: -50
},
properties: {
type: 0,
},
callback: (node) => {
console.log(node);
}
});
this.domMarkerLayer.addMarker(domMarker);
var otest = document.getElementById(item.markers[0].id);
// dom,icon
let newEle = document.createElement("div");
newEle.className = "v_title";
newEle.setAttribute("style", "display:flex;justify-content: space-between;padding:10px 0");
let title = document.createElement("div");
title.innerText = "实时监控";
newEle.style.color = "#ffffff";
let close = document.createElement("div");
close.className = "v_close";
close.setAttribute("style", "width: 16px;height: 16px;background: url(/img/close.png) no-repeat;background-size: 100% 100%;");
newEle.appendChild(title);
newEle.appendChild(close);
let newEle2 = document.createElement("video");
newEle2.id = item.markers[0].id + 'videoPlayer';
newEle2.setAttribute("style", "width: 327px;height:183px;background:url('/img/v_mask.png') no-repeat;background-size: 100% 100%;");
// dom dom
otest.appendChild(newEle);
otest.appendChild(newEle2);
newEle2.onclick = () => {
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
this.$API.am.video.item.req(this.params).then(res => {
console.log(res);
this.url = res.url;
let URLS = res.url.replace('192.168.10.253',sysConfig.VUE_APP_VIDEOHOST);
if (flvjs.isSupported()) {
let videoElement = document.getElementById(item.markers[0].id + 'videoPlayer');
var mediaDataSource = {
type: 'flv',
hasAudio:false,
hasVideo:true,
isLive:false,
withCredentials:false,
url:URLS
};
let flvPlayer = flvjs.createPlayer(mediaDataSource, {
enableWorker: false,
lazyLoadMaxDuration: 3 * 60,
seekType: 'range',
});
flvPlayer.attachMediaElement(videoElement);
newEle2.setAttribute("style", "width: 327px;height:183px;background:url(/img/rotate_line.png) no-repeat;background-size:60px 60px;background-position:center center;");
flvPlayer.load();
}
})
};
close.onclick = () => {
let nodeMark = document.getElementById(item.markers[0].id);
nodeMark.remove();
}
} else {
//
that.screenUserItem = item.properties.get("employee");
that.screenUser = true;
// debugger;
window.map.flyToMarker(that.userMarker[that.screenUserItem.mac], {
duration: 1000,
range: 200
})
}
}
} else if (type === 'Symbol(polygonmarker)') {
//
that.screenRisk = false;
that.screenWarning = false;
that.areaDetailId = item.properties.get("area");
let areaWork = that.areaList.filter(area=>{
return area.id==that.areaDetailId
});
that.areaRowClick(areaWork[0]); that.areaRowClick(areaWork[0]);
}
} else {
} }
} else { });
}
}); })
// //
this.getManCount();//$$ this.getManCount();//$$
this.getWarnings();//$$ this.getWarnings();//$$
this.getAreaList();///$$ this.getAreaList();///$$
this.getGroup();//$$ this.getGroup();//$$
// //
this.getWarningTotal();// this.getWarningTotal();//
this.getWarningType();// this.getWarningType();//
let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight; let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight;
let height1 = document.getElementsByClassName('cockpit-count')[0].clientHeight; let height1 = document.getElementsByClassName('cockpit-count')[0].clientHeight;
let height2 = document.getElementsByClassName('cockpit-alarm')[0].clientHeight; let height2 = document.getElementsByClassName('cockpit-alarm')[0].clientHeight;
let height3 = document.getElementsByClassName('area-simple-title')[0].clientHeight; let height3 = document.getElementsByClassName('area-simple-title')[0].clientHeight;
// debugger; // debugger;
let domHeight = pageHeight - height1 - 310 - 84; let domHeight = pageHeight - height1 - 310 - 84;
let areaTableHeight = domHeight - height3 - 50; let areaTableHeight = domHeight - height3 - 50;
this.areaTableHeight = areaTableHeight; this.areaTableHeight = areaTableHeight;
document.getElementsByClassName('cockpit-info')[0].style.height = domHeight + 'px'; document.getElementsByClassName('cockpit-info')[0].style.height = domHeight + 'px';
// document.getElementsByClassName('area-info-body')[0].style.height = simpleBodyHeight + 'px'; // document.getElementsByClassName('area-info-body')[0].style.height = simpleBodyHeight + 'px';
}, },
computed:{ computed:{
@ -1007,6 +1013,43 @@ export default {
clearInterval(this.eventAudioTimer)// clearInterval(this.eventAudioTimer)//
}, },
methods: { methods: {
loadScript(id, url, callback) {
debugger;
let that = this;
//idjs
if (document.querySelector(`#${id}`)) {
that.ElLoading = null;
callback && callback()
return;
}else{
that.ElLoading = this.$loading({
lock: true,
text: '地图资源加载中...',
background: 'rgba(0, 0, 0, 0)',
})
}
// script
const script = document.createElement('script');
script.src = url;
//id
script.setAttribute('id', id);
//script
const firstScript = document.getElementsByTagName('script')[0];
//script BODY,bodyscriptjs
firstScript.parentNode.insertBefore(script, firstScript);
//script
script.onload = script.onreadystatechange = function() {
that.ElLoading.close();
// that.ElLoading = null;
//
if (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete') {
callback && callback()
}
};
},
// //
searchOne(keyword){ searchOne(keyword){
let that = this; let that = this;
@ -1034,13 +1077,8 @@ export default {
}, },
handleChange(item, check,item2,item3) { handleChange(item, check,item2,item3) {
let that = this; let that = this;
// debugger;
// console.log(check)
this.deptChecked = check.checkedKeys; this.deptChecked = check.checkedKeys;
this.userParams.depts = check.checkedKeys; this.userParams.depts = check.checkedKeys;
// that.userMaskerLayer.removeAllIconTextMark();
// this.refreshUserMarker();
}, },
// //
userFilter() { userFilter() {
@ -1055,19 +1093,14 @@ export default {
window.map.addLayer(that.userMaskerLayer); window.map.addLayer(that.userMaskerLayer);
let userListNew = []; let userListNew = [];
that.userList.filter(item=>{ that.userList.filter(item=>{
// debugger;
// console.log(item);
if(checkedKeys.indexOf(item.my_info.employee_.belong_dept_)>-1){ if(checkedKeys.indexOf(item.my_info.employee_.belong_dept_)>-1){
// debugger;
userListNew.push(item) userListNew.push(item)
} }
}) })
// debugger;
that.userList = userListNew; that.userList = userListNew;
console.log(that.userList) console.log(that.userList)
that.showUserMarkers(userListNew); that.showUserMarkers(userListNew);
this.showUserSelect = false; this.showUserSelect = false;
// this.screenUser = true;
}, },
// //
audioFinished(){ audioFinished(){
@ -1136,14 +1169,14 @@ export default {
if(item.id==that.audioList.id){ if(item.id==that.audioList.id){
}else{ }else{
that.audioList = item; that.audioList = item;
that.audioSrc=item.voice_f; that.audioSrc=item.voice;
if(item.location){ if(item.location){
window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { range: 200,duration: 1000 }); window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { range: 200,duration: 1000 });
} }
} }
}else{ }else{
that.audioList = item; that.audioList = item;
that.audioSrc = item.voice_f; that.audioSrc = item.voice;
that.music.play();// that.music.play();//
} }
} }
@ -2244,7 +2277,6 @@ export default {
}, },
speakerPlay(){ speakerPlay(){
this.speakerPlayStatus = true; this.speakerPlayStatus = true;
// this.music.src = this.warningData.list[0].voice_f;
this.music.play();// this.music.play();//
}, },
}, },
@ -2289,6 +2321,14 @@ export default {
background: rgba(48, 255, 220, 0.35); background: rgba(48, 255, 220, 0.35);
} }
.el-loading-spinner .el-loading-text{
color: #Ffa500;
}
.el-loading-spinner .path{
stroke: #Ffa500;
}
.el-radio.el-radio--small .el-radio__label { .el-radio.el-radio--small .el-radio__label {
color: #ffffff; color: #ffffff;
} }
@ -3792,6 +3832,7 @@ export default {
#mapContainer { #mapContainer {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #49a1ff;
} }
#bigScreenUserTable { #bigScreenUserTable {

View File

@ -94,7 +94,7 @@
<el-table-column label="事件标记" prop="mark"> <el-table-column label="事件标记" prop="mark">
<template #default="scope"> <template #default="scope">
<el-tag v-if="scope.row.mark == 20" type="warning" effect="plain">误报</el-tag> <el-tag v-if="scope.row.mark == 20" type="warning" effect="plain">误报</el-tag>
<el-tag v-else type="success" effect="plain"></el-tag> <el-tag v-else type="success" effect="plain"></el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="处理超时"> <el-table-column label="处理超时">

View File

@ -261,7 +261,11 @@ export default {
}); });
}, },
onSubmit() { onSubmit() {
this.$API.ecm.event.handle.req(this.form.id, this.form).then((res) => { let params = {};
params.mark = this.form.mark;
params.handle_desc = this.form.handle_desc;
this.$API.ecm.event.handle.req(this.form.id, params).then((res) => {
this.$emit("success"); this.$emit("success");
this.$message.success("操作成功"); this.$message.success("操作成功");
return res; return res;

View File

@ -39,7 +39,8 @@
</div> </div>
--> -->
<div class="login-oauth"> <div class="login-oauth">
<el-button type="success" @click="appDown">安卓APP</el-button> <el-button type="success" @click="appDown" style="background-color:#2cd4f9;border-color:#2cd4f9">安卓APP</el-button>
<el-button type="primary" @click="MonitorOpen" style="background-color:orange;border-color:orange">监控视频</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -61,7 +62,8 @@
</template> </template>
<script> <script>
import passwordForm from './components/passwordForm' import { Monitor } from '@element-plus/icons-vue'
import passwordForm from './components/passwordForm'
import phoneForm from './components/phoneForm' import phoneForm from './components/phoneForm'
export default { export default {
@ -122,6 +124,9 @@
appDown() { appDown() {
this.showApp = true; this.showApp = true;
}, },
MonitorOpen(){
window.open('http://10.99.5.79:5515/')
},
configDark(){ configDark(){
this.config.dark = this.config.dark ? false : true this.config.dark = this.config.dark ? false : true
}, },

View File

@ -48,6 +48,41 @@
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<el-card>
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
stripe
highlightCurrentRow
hidePagination
@resetQuery="resetQuery"
>
<el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column
label="文件地址"
prop="filepath"
min-width="200"
></el-table-column>
<el-table-column
label="大小(MB)"
prop="size"
min-width="150"
></el-table-column>
<el-table-column label="操作" align="center" width="80">
<template #default="scope">
<el-popconfirm
title="确定删除吗?"
@confirm="table_del(scope.row, scope.$index)"
>
<template #reference>
<el-button type="danger" size="small">删除</el-button>
</template>
</el-popconfirm>
</template>
</el-table-column>
</scTable>
</el-card>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
@ -59,6 +94,8 @@ export default {
cpuData: {}, cpuData: {},
diskData: {}, diskData: {},
memoryData: {}, memoryData: {},
apiObj: this.$API.ops.dbbackup.list,
query: {},
}; };
}, },
mounted() { mounted() {
@ -79,6 +116,22 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
resetQuery() {
this.query = {};
},
//
async table_del(row) {
this.$API.ops.dbbackup.deletes
.req({filepaths: [row.filepath]})
.then((res) => {
this.$message.success("删除成功");
this.$refs.table.refresh();
return res;
})
.catch((err) => {
return err;
});
},
}, },
}; };
</script> </script>

View File

@ -128,7 +128,7 @@
hidePagination hidePagination
hideDo hideDo
stripe stripe
style="height: 300px" style="height: 680px"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -224,7 +224,7 @@
hidePagination hidePagination
hideDo hideDo
stripe stripe
style="height: 300px" style="height: 680px"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -636,8 +636,9 @@ export default {
//, //,
submitTicketCreate(id) { submitTicketCreate(id) {
let ticket = {}; let ticket = {};
ticket.title = this.rpjform.name;
ticket.workflow = this.initForm.workflow; ticket.workflow = this.initForm.workflow;
ticket.ticket_data = { rpj: this.rpjId }; ticket.ticket_data = { rpj: this.rpjId ,name:this.rpjform.name};
ticket.transition = id; ticket.transition = id;
this.$API.wf.ticket.create.req(ticket).then((res) => { this.$API.wf.ticket.create.req(ticket).then((res) => {
this.$message.success("提交成功"); this.$message.success("提交成功");

View File

@ -130,7 +130,7 @@
link link
size="small" size="small"
@click="formSetting(scope.row)" @click="formSetting(scope.row)"
v-auth="'user.create'" v-auth="'user.update'"
> >
设置 设置
</el-button> </el-button>

View File

@ -90,7 +90,7 @@
<el-table-column <el-table-column
label="来访单位" label="来访单位"
prop="company" prop="company"
min-width="180" min-width="220"
fixed="left" fixed="left"
></el-table-column> ></el-table-column>
<el-table-column label="项目状态" prop="state" min-width="80"> <el-table-column label="项目状态" prop="state" min-width="80">

View File

@ -244,7 +244,7 @@
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="来源地" prop="come_place"> <el-form-item label="来源地" prop="come_place">
<el-input v-model="formpeople.come_place" type="text" clearable></el-input> <sc-address :Address="formpeople.come_place" @selectedAddress="selectedAddress"></sc-address>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
@ -252,6 +252,11 @@
<el-input v-model="formpeople.trip_desc" type="text" clearable></el-input> <el-input v-model="formpeople.trip_desc" type="text" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="详细地址" prop="come_place_detail">
<el-input v-model="formpeople.come_place_detail" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="管控措施" prop="measure"> <el-form-item label="管控措施" prop="measure">
<el-select v-model="formpeople.measure" style="width:100%" placeholder="选择来访事由"> <el-select v-model="formpeople.measure" style="width:100%" placeholder="选择来访事由">
@ -340,6 +345,7 @@
</style> </style>
<script> <script>
import { genTree } from "@/utils/verificate"; import { genTree } from "@/utils/verificate";
import scAddress from "@/components/scAddress/SelectAddress.vue";
const defaultformworker = { const defaultformworker = {
duty: "", duty: "",
@ -348,6 +354,9 @@ const defaultformworker = {
}; };
export default { export default {
name: "vistoradd", name: "vistoradd",
components:{
scAddress
},
data() { data() {
return { return {
measureOptions: ['集中隔离','居家隔离','居家健康检测','排除风险'], measureOptions: ['集中隔离','居家隔离','居家健康检测','排除风险'],
@ -367,6 +376,7 @@ export default {
search: { search: {
keyword: null, keyword: null,
}, },
come_place:'',
dialog: { dialog: {
save: false, save: false,
permission: false, permission: false,
@ -382,6 +392,7 @@ export default {
visitor: '', visitor: '',
return_date: '', return_date: '',
come_place: '', come_place: '',
come_place_detail:'',
trip_desc: '', trip_desc: '',
test_date:'', test_date:'',
measure: '', measure: '',
@ -403,6 +414,7 @@ export default {
visitor: [{ required: true, message: "请选择来访人员" }], visitor: [{ required: true, message: "请选择来访人员" }],
return_date: [{ required: true, message: "请选择返乡日期" }], return_date: [{ required: true, message: "请选择返乡日期" }],
come_place: [{ required: true, message: "请填写来源地" }], come_place: [{ required: true, message: "请填写来源地" }],
come_place_detail: [{ required: true, message: "请填写来源地详细地址" }],
trip_desc: [{ required: true, message: "请填写行程轨迹" }], trip_desc: [{ required: true, message: "请填写行程轨迹" }],
test_date: [{ required: true, message: "请选择核酸日期" }], test_date: [{ required: true, message: "请选择核酸日期" }],
measure: [{ required: true, message: "请选择管控措施" }], measure: [{ required: true, message: "请选择管控措施" }],
@ -425,6 +437,11 @@ export default {
this.getvisitorlist(); this.getvisitorlist();
}, },
methods: { methods: {
selectedAddress(data){
// debugger;
console.log(data)
this.formpeople.come_place=data;
},
//访 //访
getRpj() { getRpj() {
this.$API.vm.visit.read.req(this.visitid).then((res) => { this.$API.vm.visit.read.req(this.visitid).then((res) => {
@ -462,7 +479,7 @@ export default {
this.$refs.dialogForm.validate(async (valid) => { this.$refs.dialogForm.validate(async (valid) => {
if (valid) { if (valid) {
if(this.visitid){ if(this.visitid){
this.$API.vm.visit.update this.$API.vm.visit.update
.req(this.visitid, this.form) .req(this.visitid, this.form)
.then((res) => { .then((res) => {
this.$message.success("基本信息更新成功"); this.$message.success("基本信息更新成功");
@ -516,6 +533,15 @@ this.$API.vm.visit.update
submitpeople() { submitpeople() {
let that = this; let that = this;
that.formpeople.visit = this.visitid; that.formpeople.visit = this.visitid;
let addressObj = that.formpeople.come_place;
let addressStr = '';
that.formpeople.come_place = '';
for(let key in addressObj){
addressStr =addressStr+addressObj[key];
}
that.formpeople.come_place = addressStr;
// debugger;
console.log(addressStr)
that.$refs.formpeople.validate((valid) => { that.$refs.formpeople.validate((valid) => {
if (valid) { if (valid) {
that.isSaveing = true; that.isSaveing = true;
@ -552,8 +578,9 @@ this.$API.vm.visit.update
// //
submitticket(id){ submitticket(id){
this.ticket={}; this.ticket={};
this.ticket.title = this.form.name;
this.ticket.workflow=this.initform.workflow; this.ticket.workflow=this.initform.workflow;
this.ticket.ticket_data={visit:this.visitid}; this.ticket.ticket_data={visit:this.visitid,name:this.form.name};
this.ticket.transition=id; this.ticket.transition=id;
this.$API.wf.ticket.create.req(this.ticket).then((res) => { this.$API.wf.ticket.create.req(this.ticket).then((res) => {
this.$message.success("提交成功"); this.$message.success("提交成功");