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">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<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"/>
<script type="text/javascript">
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: {
list: {
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:[],
areaFloorId:1,
cate_: { post: "岗位", org: "单位", people: "人员" },
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;
})
// this.getAccessList();
},
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) {
this.dialog.save = true;
@ -358,7 +389,12 @@ export default {
}
this.areaId = row.id;
this.areaName = row.name;
this.dialog.saveRail = true;
if(this.canUseMap){
this.dialog.saveRail = true;
}else{
this.$message("地图组件加载中,请稍后")
}
},
//
handleDel(row) {

View File

@ -5,17 +5,6 @@
<el-button type="primary" icon="el-icon-refresh" @click="syncData" :syncLoading="syncLoading">同步</el-button>
</div>
<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>
</el-header>
<el-main class="nopadding">
@ -96,11 +85,44 @@ export default {
channelName: "",
channelArea: '',
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: {
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) {
debugger;
// debugger;
console.log(row)
if(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.channelLocation = row.my_info.location ? row.my_info.location : {};
this.channelName = row.name;
this.dialogSave = true;
if(this.canUseMap){
this.dialogSave = true;
}else{
this.$message("地图组件加载中,请稍后")
}
}else{
this.$message.error("请先完成设备同步");
}

View File

@ -148,6 +148,7 @@ export default {
2: "球机",
3: "半球",
},
canUseMap:false,
};
},
created() {
@ -159,8 +160,38 @@ export default {
},
mounted(){
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: {
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(){
debugger;
this.$API.am.video.list.req({pageSize:999}).then(res=>{
@ -175,20 +206,6 @@ export default {
that.channelCode = row.channelCode;
that.channelName = row.channelName;
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() {
this.limitedVisible = false;
@ -208,7 +225,12 @@ export default {
this.channelAreas = row.my_info.areas ? row.my_info.areas : [];
this.channelLocation = row.my_info.location ? row.my_info.location : {};
this.channelName = row.channelName;
this.dialogSave = true;
if(this.canUseMap){
this.dialogSave = true;
}else{
this.$message("地图组件加载中,请稍后")
}
}else{
this.$message.error("请先完成设备同步");
}

View File

@ -773,7 +773,7 @@ export default {
audioList:{},
employeeScroll:0,
searchKeyWord:'',
ElLoading:null
}
},
// created() {
@ -793,198 +793,204 @@ export default {
that.timerTime = setInterval(() => {
that.showTime();
}, 1000);
window.map = new jsmap.JSMap({
mapType: jsmap.JSMapType.MAP_3D,
container: 'mapContainer',
mapServerURL: 'data/map',
enableShadows: false, // false
enableLighting: false, // false
showBuildingMarker: true,
// showNavigationDisplay: true,
mapScaleLevelRange: [16, 23],// 1623,[1,24]
floorControlOptions: {
floorHeight: 20,//
position: jsmap.JSControlPosition.RIGHT_TOP,//
offset: {
x: 50,
y: 200,
}//
},
imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT,
backgroundColor: '#3798ff', //
viewOptions: {
//
center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 },
// center: {x:120,y:30,z:10},
//m
distance: 550,
// °
rotate: 0,
//°
tilt: 45,
}
});
window.map.openMapById('0000');
window.map.on('loadComplete', e => {
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
let host = window.location.host;
// let jsUrl = host.indexOf('localhost')>-1?'http://222.222.144.147:6013/jsmap/jsmap.js':host+'/jsmap/jsmap.js';
let jsUrl = '/jsmap/jsmap.js';
that.loadScript('mapId',jsUrl, () => {
window.map = new jsmap.JSMap({
mapType: jsmap.JSMapType.MAP_3D,
container: 'mapContainer',
mapServerURL: 'data/map',
enableShadows: false, // false
enableLighting: false, // false
showBuildingMarker: true,
// showNavigationDisplay: true,
mapScaleLevelRange: [16, 23],// 1623,[1,24]
floorControlOptions: {
floorHeight: 20,//
position: jsmap.JSControlPosition.RIGHT_TOP,//
offset: {
x: 50,
y: 200,
}//
},
imageryProvider: jsmap.JSImageryProviderType.IMAGE_TDT,
backgroundColor: '#3798ff', //
viewOptions: {
//
center: { x: 114.63059258861512, y: 38.81407163905287, z: 1 },
// center: {x:120,y:30,z:10},
//m
distance: 550,
// °
rotate: 0,
//°
tilt: 45,
}
});
window.map.addControl(compassControl);
let zoomControl = new jsmap.JSZoomControl({
position: jsmap.JSControlPosition.LEFT_TOP,
offset: {
x: 450,
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
})
}
window.map.openMapById('0000');
window.map.on('loadComplete', e => {
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
}
} 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]);
});
window.map.addControl(compassControl);
let zoomControl = new jsmap.JSZoomControl({
position: jsmap.JSControlPosition.LEFT_TOP,
offset: {
x: 450,
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]);
}
} else {
}
} else {
}
});
//
this.getManCount();//$$
this.getWarnings();//$$
this.getAreaList();///$$
this.getGroup();//$$
//
this.getWarningTotal();//
this.getWarningType();//
let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight;
let height1 = document.getElementsByClassName('cockpit-count')[0].clientHeight;
let height2 = document.getElementsByClassName('cockpit-alarm')[0].clientHeight;
let height3 = document.getElementsByClassName('area-simple-title')[0].clientHeight;
// debugger;
let domHeight = pageHeight - height1 - 310 - 84;
let areaTableHeight = domHeight - height3 - 50;
this.areaTableHeight = areaTableHeight;
document.getElementsByClassName('cockpit-info')[0].style.height = domHeight + 'px';
});
})
//
this.getManCount();//$$
this.getWarnings();//$$
this.getAreaList();///$$
this.getGroup();//$$
//
this.getWarningTotal();//
this.getWarningType();//
let pageHeight = document.getElementsByClassName('screen-cockpit')[0].clientHeight;
let height1 = document.getElementsByClassName('cockpit-count')[0].clientHeight;
let height2 = document.getElementsByClassName('cockpit-alarm')[0].clientHeight;
let height3 = document.getElementsByClassName('area-simple-title')[0].clientHeight;
// debugger;
let domHeight = pageHeight - height1 - 310 - 84;
let areaTableHeight = domHeight - height3 - 50;
this.areaTableHeight = areaTableHeight;
document.getElementsByClassName('cockpit-info')[0].style.height = domHeight + 'px';
// document.getElementsByClassName('area-info-body')[0].style.height = simpleBodyHeight + 'px';
},
computed:{
@ -1007,6 +1013,43 @@ export default {
clearInterval(this.eventAudioTimer)//
},
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){
let that = this;
@ -1034,13 +1077,8 @@ export default {
},
handleChange(item, check,item2,item3) {
let that = this;
// debugger;
// console.log(check)
this.deptChecked = check.checkedKeys;
this.userParams.depts = check.checkedKeys;
// that.userMaskerLayer.removeAllIconTextMark();
// this.refreshUserMarker();
},
//
userFilter() {
@ -1055,19 +1093,14 @@ export default {
window.map.addLayer(that.userMaskerLayer);
let userListNew = [];
that.userList.filter(item=>{
// debugger;
// console.log(item);
if(checkedKeys.indexOf(item.my_info.employee_.belong_dept_)>-1){
// debugger;
userListNew.push(item)
}
})
// debugger;
that.userList = userListNew;
console.log(that.userList)
that.showUserMarkers(userListNew);
this.showUserSelect = false;
// this.screenUser = true;
},
//
audioFinished(){
@ -1136,14 +1169,14 @@ export default {
if(item.id==that.audioList.id){
}else{
that.audioList = item;
that.audioSrc=item.voice_f;
that.audioSrc=item.voice;
if(item.location){
window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { range: 200,duration: 1000 });
}
}
}else{
that.audioList = item;
that.audioSrc = item.voice_f;
that.audioSrc = item.voice;
that.music.play();//
}
}
@ -2244,7 +2277,6 @@ export default {
},
speakerPlay(){
this.speakerPlayStatus = true;
// this.music.src = this.warningData.list[0].voice_f;
this.music.play();//
},
},
@ -2289,6 +2321,14 @@ export default {
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 {
color: #ffffff;
}
@ -3792,6 +3832,7 @@ export default {
#mapContainer {
width: 100%;
height: 100%;
background-color: #49a1ff;
}
#bigScreenUserTable {

View File

@ -94,7 +94,7 @@
<el-table-column label="事件标记" prop="mark">
<template #default="scope">
<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>
</el-table-column>
<el-table-column label="处理超时">

View File

@ -261,7 +261,11 @@ export default {
});
},
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.$message.success("操作成功");
return res;

View File

@ -39,7 +39,8 @@
</div>
-->
<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>
@ -61,7 +62,8 @@
</template>
<script>
import passwordForm from './components/passwordForm'
import { Monitor } from '@element-plus/icons-vue'
import passwordForm from './components/passwordForm'
import phoneForm from './components/phoneForm'
export default {
@ -122,6 +124,9 @@
appDown() {
this.showApp = true;
},
MonitorOpen(){
window.open('http://10.99.5.79:5515/')
},
configDark(){
this.config.dark = this.config.dark ? false : true
},

View File

@ -48,6 +48,41 @@
</el-card>
</el-col>
</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-container>
</template>
@ -59,6 +94,8 @@ export default {
cpuData: {},
diskData: {},
memoryData: {},
apiObj: this.$API.ops.dbbackup.list,
query: {},
};
},
mounted() {
@ -79,6 +116,22 @@ export default {
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>

View File

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

View File

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

View File

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

View File

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