This commit is contained in:
曹前明 2022-09-27 12:44:02 +08:00
commit 7516417f52
7 changed files with 124 additions and 71 deletions

View File

@ -22,7 +22,6 @@
if(dark){
document.documentElement.classList.add("dark")
}
debugger;
let urls = window.location.host;
window.IPConfig = {
//此处的IP在打包不会被编译可修改

View File

@ -50,10 +50,17 @@
</div>
</div>
<div class="drop-content" v-if="showUserSelect">
<el-tree ref="group" id="bigScreenTree" node-key="id" :data="postList" show-checkbox
:current-node-key="''" :highlight-current="true" :expand-on-click-node="true"
@node-click="groupClick"></el-tree>
<el-tree
ref="group"
id="bigScreenTree"
node-key="id"
:data="postList"
show-checkbox
:current-node-key="''"
:highlight-current="true"
:expand-on-click-node="true"
@check="handleChange"
></el-tree>
<el-button type="primary" @click="userFilter">查看</el-button>
</div>
<div class="filter-action showroam">
@ -423,7 +430,7 @@
</div>
</div>
<div class="screen-per-list">
<el-table :data="userList" style="width: 100%" :row-key="row => { return row.id }"
<el-table :data="userList" style="width: 100%" :row-key="row => { return row.id }"
highlight-current-row class="bigScreenTable" @row-click="userRowClick">
<el-table-column label="姓名">
<template #default="scope">
@ -823,6 +830,7 @@ export default {
areaVideo:[],
areaSpeaker:[],
areaUser:[],
deptChecked:[],
//
userCount: {
total: 0,
@ -847,6 +855,9 @@ export default {
},
code: 'video_realtime'
},
userParams:{
depts:[],
},
group: [],
groupsProps: {
value: "id",
@ -881,6 +892,7 @@ export default {
audioSrc:'',
audioIndex:0,
audioList:{},
employeeScroll:0,
}
},
@ -1048,7 +1060,8 @@ export default {
that.screenUser = true;
// debugger;
window.map.flyToMarker(that.userMarker[that.screenUserItem.mac], {
duration: 1000
duration: 1000,
range: 200
})
}
}
@ -1092,13 +1105,43 @@ export default {
this.timerTime = null;
this.eventTimer = null;
this.eventAudioTimer = null;
window.map.destroy();
// window.map.destroy();
clearInterval(this.timerUser)//
clearInterval(this.timerTime)//
clearInterval(this.eventTimer)//
clearInterval(this.eventAudioTimer)//
},
methods: {
handleChange(item, check,item2,item3) {
// debugger;
// let that = this;
// console.log(item);
// console.log(check);
// console.log(item2);
// console.log(item3);
this.deptChecked = check.checkedKeys;
this.userParams.depts = check.checkedKeys;
let obj = {};
obj.depts = check.checkedKeys;
that.$API.third.blt.all.req(obj).then(res => {
debugger;
console.log('selectedUser:'+res)
})
this.refreshUserMarker();
},
//
userFilter() {
let that = this;
this.showUserSelect = false;
this.screenUser = true;
// that.screenUserItem.name = this.userList[0].my_info.employee_.name;
// that.screenUserItem.type = this.userList[0].my_info.employee_.type;
// that.screenUserItem.id = this.userList[0].my_info.employee_.id;
// that.screenUserItem.photo = this.userList[0].my_info.employee_.photo ? this.userList[0].my_info.employee_.photo : '';
// that.screenUserItem.post_name = this.userList[0].my_info.employee_.post_name ? this.userList[0].my_info.employee_.post_name : '';
// that.screenUserItem.belong_dept_name = this.userList[0].my_info.employee_.belong_dept_name ? this.userList[0].my_info.employee_.belong_dept_name : '';
},
audioFinished(){
if(this.audioIndex<this.audioList.length){
this.audioIndex++;
@ -1155,12 +1198,12 @@ export default {
if (res.err_msg) {
} else {
// debugger;
console.log('00000000000000');
console.log(res.results[0].id);
console.log(that.audioList.id);
// console.log('00000000000000');
// console.log(res.results[0].id);
// console.log(that.audioList.id);
let judge = res.results[0].id==that.audioList.id
console.log(judge);
console.log('11111111111111');
// console.log(judge);
// console.log('11111111111111');
let item = res.results[0];
if(that.audioSrc!==''){
if(item.id==that.audioList.id){
@ -1171,7 +1214,7 @@ export default {
that.audioSrc=item.voice_f;
// that.music.play();//
if(item.location){
window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { duration: 1000 });
window.map.flyToPosition(new jsmap.JSPoint(item.location.longitude, item.location.latitude), { range: 200,duration: 1000 });
}
}
}else{
@ -1234,7 +1277,7 @@ export default {
that.areaDetailId = data.id;
this.getAreaOperation();
let points = data.third_info.xx_rail.detail.polygon.points[0];
window.map.flyToPosition(new jsmap.JSPoint(points.x, points.y, points.z), { duration: 1000 });
window.map.flyToPosition(new jsmap.JSPoint(points.x, points.y, points.z), { range: 200,duration: 1000 });
},
//
getAreaOperation(){
@ -1279,8 +1322,8 @@ export default {
let rpartsList=[];
let arr = [];
let children = genTree(res);
// debugger;
// console.log(children)
debugger;
console.log(children)
for (let i = 0; i < 5; i++) {
let obj = new Object();
if (i === 0) {
@ -1409,6 +1452,15 @@ export default {
groupClick(data) {
debugger;
console.log(data);
debugger;
},
checkChange(data1,data2,data3,data4){
debugger;
console.log(data1);
console.log(data2);
console.log(data3);
console.log(data4);
debugger;
},
//
showUserDetail() {
@ -1418,18 +1470,7 @@ export default {
this.screenUserItemDetail = res;
})
},
//
userFilter() {
let that = this;
this.showUserSelect = false;
this.screenUser = true;
that.screenUserItem.name = this.userList[0].my_info.employee_.name;
that.screenUserItem.type = this.userList[0].my_info.employee_.type;
that.screenUserItem.id = this.userList[0].my_info.employee_.id;
that.screenUserItem.photo = this.userList[0].my_info.employee_.photo ? this.userList[0].my_info.employee_.photo : '';
that.screenUserItem.post_name = this.userList[0].my_info.employee_.post_name ? this.userList[0].my_info.employee_.post_name : '';
that.screenUserItem.belong_dept_name = this.userList[0].my_info.employee_.belong_dept_name ? this.userList[0].my_info.employee_.belong_dept_name : '';
},
//layer
riskMaskerLayers() {
let that = this;
@ -1528,9 +1569,11 @@ export default {
if (item.third_info.xx_rail!==null&&item.third_info.xx_rail!==undefined) {
floorId = item.third_info.xx_rail.detail.floorId;
let points = item.third_info.xx_rail.detail.polygon.points;
// debugger;
pointsList = points.map(item => {
let obj = item;
obj.z = 0;
obj.x=item.longitude;
obj.y=item.latitude;
return obj
});
let areaId = item.id;
@ -1563,8 +1606,6 @@ export default {
areaId: areaId
},
});
// debugger;
console.log(that.riskMarkerLayer);
that.riskMarkerLayer.addMarker(boxMarker);
}
})
@ -1614,8 +1655,6 @@ export default {
showSpeakersMarkers(list) {
let that = this;
list.forEach(item => {
// debugger;
console.log(item)
let materialMarker = null;
let pixel = item.my_info.location;
console.log(pixel)
@ -1664,8 +1703,6 @@ export default {
}else {
userImage = "/img/visitor.png"
}
// debugger;
// console.log(item);
let floorId = 1;
if(item.floorNo=='Floor1'){
floorId = 1;
@ -1718,7 +1755,7 @@ export default {
}
// debugger;
let that = this;
that.$API.third.blt.all.req().then(res => {
that.$API.third.blt.all.req(that.userParams).then(res => {
if (res.err_msg) {
} else {
let userList = res.filter(item => {
@ -1728,8 +1765,11 @@ export default {
let refreshList = that.func(userList, that.userList)[1];
let subUser = that.func(that.userList, userList)[0];
that.userList = refreshList.concat(addUser);//userList
subUser.forEach(subUserItem=>{
that.userMaskerLayer.removeMarker(that.userMarker[subUserItem.mac]);//线
})
that.showUserMarkers(addUser);//线
//that.userMaskerLayer.removeMarker(sectorMarker)(addUser);//线
refreshList.forEach(item1 => {
// debugger;
// console.log(item1)
@ -1930,14 +1970,10 @@ export default {
if (res.err_msg) {
that.$message.error(res.err_msg);
} else {
// debugger;
console.log(res.pageData.length)
let Vchannels = res.pageData.filter(item=>{
return item.my_info.location!==undefined;
})
that.Vchannels = Vchannels;
// debugger;
console.log(Vchannels.length)
that.showCameraMarkers(Vchannels);
}
});
@ -2002,9 +2038,11 @@ export default {
//
userRowClick(row) {
// debugger;
console.log(row);
let that = this;
debugger;
window.map.flyToMarker(that.userMarker[row.mac], {
duration: 1000,range: 200
})
that.screenUserItem.name = row.my_info.employee_.name;
that.screenUserItem.type = row.my_info.employee_.type;
that.screenUserItem.id = row.my_info.employee_.id;
@ -2016,7 +2054,7 @@ export default {
userTrack() {
this.tracking = true;
window.map.trackMarker(this.userMarker[this.screenUserItem.mac], {
range: 150
range: 200
})
},
//
@ -2030,7 +2068,7 @@ export default {
that.lineTracking = true;
that.userMaskerLayer.show = false;
let nowTime = new Date().getTime();
let preTime = nowTime-30*60 * 1000;
let preTime = nowTime-60*60 * 1000;
let params = {
url:"/api/datacenter/user/historypathV2",
method:"post",
@ -2057,8 +2095,6 @@ export default {
obj.z=item.z;
points0.push(obj);
});
debugger;
console.log(points0)
if(points0.length>0){
that.line1 = null;
if (that.line1==null) {
@ -2091,13 +2127,13 @@ export default {
modelAnimate: {
multiplier: 2,
},
scale: 0.8,
scale: 1,
properties: {
name: 'trackMarker'
},
callback: (marker) => {
window.map.trackMarker(marker, {
range: 40,
range: 100,
tilt: 60,
rotate: 310
});
@ -2124,6 +2160,7 @@ export default {
})
},
userLineTrackCancel(){
window.location.reload();
let that = this;
that.lineTracking = false;
that.userMaskerLayer.show = true;
@ -2674,7 +2711,8 @@ export default {
right: 18px;
z-index: 1;
transition: all .5s linear;
overflow-y: scroll;
max-height: 80vh;
.job-content {
height: calc(100% - 44px);
overflow-y: auto;

View File

@ -100,7 +100,7 @@
:key="item.id"
:label="item.name"
:value="item.id"
:disabled="mode==='edit'"
:disabled="mode==='show'"
/>
</el-select>
</el-form-item>
@ -109,7 +109,7 @@
v-model="form.handle_desc"
clearable
type="textarea"
:disabled="mode==='edit'"
:disabled="mode==='show'"
></el-input>
</el-form-item>
<el-form-item v-if="mode==='edit'">

View File

@ -105,7 +105,7 @@
text
type="primary"
size="small"
@click="table_show(scope.row, scope.$index)"
@click="table_handle(scope.row, scope.$index)"
v-if="scope.row.can_handle && scope.row.event_.handle_user == null"
>处理</el-button
>
@ -119,16 +119,25 @@
</el-table-column>
</scTable>
</el-main>
<detail-dialog
v-if="dialog.handle"
ref="handleDialog"
:eventID="eventID"
@success="handleSuccess"
@closed="dialog.handle = false"
></detail-dialog>
</el-container>
</template>
<script>
import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue";
import detailDialog from "./event_handlefrom.vue";
import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue";
export default {
name: "myevent",
components: {
CircleCheckFilled,
CircleCloseFilled,
detailDialog
},
data() {
return {
@ -137,6 +146,7 @@ export default {
areaOptions: [],
dialog: {
save: false,
handle: false,
permission: false,
},
apiObj: this.$API.ecm.myevent.list,
@ -145,6 +155,7 @@ export default {
search: {
keyword: null,
},
eventID:'',
};
},
created() {
@ -162,24 +173,26 @@ export default {
this.areaOptions = res;
})
},
//
table_show(row) {
this.$router.push({
name: "eventhandlefrom",
query: {
id: row.event_.id,
},
//
table_handle(row) {
this.eventID = row.event;
// debugger;
console.log(this.eventID)
this.dialog.handle = true;
this.$nextTick(() => {
this.$refs.handleDialog.open("edit").setData(row);
});
},
table_handle(row) {
this.$router.push({
name: "eventhandlefrom",
query: {
id: row.event_.id,
},
//
table_show(row) {
this.eventID = row.event;
this.dialog.handle = true;
this.$nextTick(() => {
this.$refs.handleDialog.open("show").setData(row);
});
},
handleSuccess(){
this.dialog.handle = false
},
//
handleQuery() {},

View File

@ -88,7 +88,8 @@
expandTrigger: 'hover', //
label: 'label', //
value: 'value', //
emitPath: false, // false
emitPath: false,
checkStrictly: true
}"
clearable
/>

View File

@ -89,6 +89,7 @@
label: 'label', //
value: 'value', //
emitPath: false, // false
checkStrictly: true
}"
clearable
/>

View File

@ -284,6 +284,7 @@
<el-select
v-model="formworker.remployee"
@change="selectWorker"
filterable
placeholder="选择项目人员"
>
<el-option