Compare commits

..

No commits in common. 'master' and 'lijinlong' have entirely different histories.

@ -2,7 +2,7 @@
# @Author: 张涛 # @Author: 张涛
# @Date: 2023-11-09 18:29:41 # @Date: 2023-11-09 18:29:41
# @LastEditors: JC9527 # @LastEditors: JC9527
# @LastEditTime: 2024-05-15 13:40:14 # @LastEditTime: 2024-01-12 09:30:34
# @FilePath: \JiangningUrbanManagePc\.env.development # @FilePath: \JiangningUrbanManagePc\.env.development
### ###
# 页面标题 # 页面标题
@ -14,10 +14,10 @@ ENV = 'development'
# 若依管理系统/开发环境 # 若依管理系统/开发环境
# /dev-api # /dev-api
# VUE_APP_BASE_API = 'http://39.101.188.84:9037' # VUE_APP_BASE_API = 'http://39.101.188.84:9037'
VUE_APP_BASE_API = 'http://10.236.2.28:54567/bjh-admin-server' VUE_APP_BASE_API = 'https://t-jn-bjh-admin-server.jsszkd.com'
VUE_APP_BASE_API1 = 'http://10.236.2.28:54567/process-server' VUE_APP_BASE_API1 = 'https://t-kd-process-server.jsszkd.com'
VUE_APP_BASE_API2 = 'http://10.236.2.28:54567/admin-server/api/webapp' VUE_APP_BASE_API2 = 'https://t-jn-development-manager-server.jsszkd.com/api/webapp'
# VUE_APP_BASE_API = 'http://192.168.0.112:9037' # VUE_APP_BASE_API = 'http://192.168.0.108:9037'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

@ -1,3 +1,11 @@
###
# @Descripttion:
# @version:
# @Author: JC9527
# @Date: 2024-01-09 23:08:15
# @LastEditors: JC9527
# @LastEditTime: 2024-01-12 09:27:18
###
# 页面标题 # 页面标题
VUE_APP_TITLE = 城市精细化管理监测主题 VUE_APP_TITLE = 城市精细化管理监测主题
@ -6,6 +14,6 @@ ENV = 'production'
# 若依管理系统/生产环境 # 若依管理系统/生产环境
# VUE_APP_BASE_API = 'http://39.101.188.84:9037' # VUE_APP_BASE_API = 'http://39.101.188.84:9037'
VUE_APP_BASE_API = 'http://10.236.2.28:54567/bjh-admin-server' VUE_APP_BASE_API = 'https://t-jn-bjh-admin-server.jsszkd.com'
VUE_APP_BASE_API1 = 'http://10.236.2.28:54567/process-server' VUE_APP_BASE_API1 = 'https://t-kd-process-server.jsszkd.com'
VUE_APP_BASE_API2 = 'http://10.236.2.28:54567/admin-server/api/webapp' VUE_APP_BASE_API2 = 'https://t-jn-development-manager-server.jsszkd.com/api/webapp'

@ -1,16 +1,9 @@
/*
* @Descripttion:
* @version:
* @Author: JC9527
* @Date: 2024-01-09 23:11:58
* @LastEditors: JC9527
* @LastEditTime: 2024-09-05 13:53:37
*/
import request from "@/utils/request2" import request from "@/utils/request2"
// 事件来源按日/月纬度统计 // 事件来源按日/月纬度统计
export function getTrend(params) { export function getTrend(params) {
return request({ return request({
baseURL: process.env.VUE_APP_BASE_API2,
url: "/event/source/trend", url: "/event/source/trend",
method:'get', method:'get',
params params
@ -19,111 +12,19 @@ export function getTrend(params) {
// 事件概况统计 // 事件概况统计
export function summarystat(params) { export function summarystat() {
return request({ return request({
baseURL: process.env.VUE_APP_BASE_API2,
url: "/event/summary/stat", url: "/event/summary/stat",
method:'get', method:'get',
params
}) })
} }
// 任务概况分类统计 // 任务概况分类统计
export function tasksummarystat(params) { export function tasksummarystat() {
return request({ return request({
baseURL: process.env.VUE_APP_BASE_API2,
url: "/task/summary/stat", url: "/task/summary/stat",
method:'get', method:'get',
params
})
}
// 查询事件类型
export function getEventTypeEnum() {
return request({
url: "/event/type/enum",
method:'get',
isToken:false,
headers:{
"X-Access-Token": localStorage.getItem('robotToken')
}
})
}
// 查询网格类型
export function getEventGridEnum() {
return request({
url: "/event/grid/enum",
method:'get',
isToken:false,
headers:{
"X-Access-Token": localStorage.getItem('robotToken')
}
})
}
// 网格数据
export function statgrid(params){
return request({
url: "/event/summary/statgrid",
method:'get',
headers:{
isToken:false,
},
params
})
}
// 重点路段
export function statroad(params){
return request({
url: "/event/summary/statroad",
method:'get',
headers:{
isToken:false,
},
params
})
}
// 重点区域
export function statregion(params){
return request({
url: "/event/summary/statregion",
method:'get',
headers:{
isToken:false,
},
params
})
}
// 车载监控视频地址获取
export function previewURLs(params){
return request({
url: "/videoSpnl/previewURLs",
method:'get',
headers:{
isToken:false,
},
params
}) })
} }
// 车辆行程轨迹获取
export function carTrack(params) {
return request({
url: "/event/workboatlog/loginfo",
method:'get',
headers:{
isToken:false,
},
params
})
}
// 今日巡查事件
export function listpatrol(params) {
return request({
url: "/event/summary/listpatrol",
method:'get',
params
})
}

@ -8,7 +8,6 @@ import request from "@/utils/request"
// 强制观摩 // 强制观摩
export function videoSurveillance(data) { export function videoSurveillance(data) {
return request({ return request({
// baseURL: "https://bjh.jndz.cn/bjh-admin-server",
url: "/jn/dockingEq/videoSurveillance", url: "/jn/dockingEq/videoSurveillance",
method:'post', method:'post',
data data
@ -85,15 +84,6 @@ export function fence(params){
}) })
} }
// 网格
export function bgridsetting(params){
return request({
url:'/jn/bgridsetting/list',
method:'get',
params
})
}
/** /**
* 车辆管理 * 车辆管理
@ -161,84 +151,4 @@ export function eventSaveData(params,data) {
params, params,
data data
}) })
}
// 分页查询在线人员
export function onlinePeople(params){
return request({
url: "/jn/dockingEq/onlinePeople",
method:'get',
params
})
}
// 查询在线总人数
export function onlineNumSize(){
return request({
url: "/jn/dockingEq/onlineNumSize",
method:'get',
})
}
// 指挥中心列表
export function listZhzz(query) {
return request({
url: '/jn/center/list',
method: 'get',
params: query
})
}
// 根据imei查询人员信息
export function getUserByImei(params){
return request({
url: '/jn/dwgj/getUserByImei',
method: 'get',
params
})
}
// 根据手机号和人员名称查询
export function dwgjList(params){
return request({
url: '/jn/dwgj/list',
method: 'get',
params
})
}
// 获取围栏打卡信息
export function getFence(params){
return request({
url: '/jn/screen/getFence',
method: 'get',
params
})
}
// 部门有imei人员的部门树
export function hasImeiTree(){
return request({
url: '/jn/department/hasImeiTree',
method: 'get'
})
}
// 根据部门id获取部门imei不为空的人员
export function getDept(id){
return request({
url: '/jn/department/getDept/' + id,
method: 'get'
})
}
// 展开的部门加人员数结构
export function getUserCount(){
return request({
url:"/jn/department/getUserCount",
method:"get",
})
}
// 根据名字,手机号模糊查询人员
export function getImeiUserOnline(user){
return request({
url:"/jn/department/getImeiUserOnline/" + user,
method:"get",
})
} }

@ -4,44 +4,19 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2024-01-11 23:19:29 * @Date: 2024-01-11 23:19:29
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-03-06 11:39:06 * @LastEditTime: 2024-01-12 12:39:16
*/ */
import request from "@/utils/request1" import request from "@/utils/request1"
// 自动提交事件流程-1---保存事件数据接口 // 自动提交事件流程
export function eventSaveData(params,data) { export function eventSaveData(params,data) {
return request({ return request({
url: "/api/eform/engine/formEngine/saveData", url: "/api/eform/engine/formEngine/saveData",
method:'post', method:'post',
// headers: {
// isToken: false
// },
params, params,
data data
}) })
} }
// 自动提交事件流程-2---获取流程权限
export function getBpmOperateVo(params){
return request({
url: "/api/bpm/bpm-front/displayRest/getBpmOperateVo/v1",
method:'get',
// headers: {
// isToken: false
// },
params
})
}
// 自动提交事件流程-3---调用自动提交
export function autoSubmit(params){
return request({
url: "/api/bpm/bpm-front/operateRest/autoSubmit/v1",
method:'put',
// headers: {
// isToken: false
// },
params
})
}
// 模拟登录 // 模拟登录
export function robotLogin(data){ export function robotLogin(data){
return request({ return request({
@ -61,22 +36,30 @@ export function ViewListPage(params,data){
} }
/** /**
* *
* 事件指派-保存业务数据 * 任务派发流程
*/ */
// 1.事件指派-保存业务数据 // 任务派发流程
export function formEngineSaveData(params,data){ export function autoSubmit(data){
return request({ return request({
url: "/api/eform/engine/formEngine/saveData", url: "/api/bpm/bpm-front/operateRest/autoSubmit/v1",
method:'post', method:'put',
params,
data data
}) })
} }
// 2.事件指派-流程流转 // 任务派至城管队长----获取流程权限
export function auditSubmit(params){ export function getBpmOperateVo(params){
return request({ return request({
url: "/audit/auditSubmit", url: "/api/bpm/bpm-front/displayRest/getBpmOperateVo/v1",
method:'get', method:'get',
params, params
}) })
} }
// 任务派至城管队长----保存业务数据
export function distributeSaveData(params,data){
return request({
url: "/api/eform/engine/formEngine/saveData",
method:'post',
params,
data
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

@ -22,12 +22,8 @@
margin-bottom: 5px; margin-bottom: 5px;
} }
img { img {
// width: 54px; width: 54px;
width: 30px;
} }
// .personImg {
// width: 30px;
// }
} }
.amap-info-content { .amap-info-content {
background-color: transparent; background-color: transparent;

@ -184,8 +184,7 @@ aside {
} }
} }
// //
// ::-webkit-scrollbar { ::-webkit-scrollbar {
// width: 0 !important; width: 0 !important;
// height: 0; height: 0;
// } }

@ -14,8 +14,8 @@
// //
.event-popup { .event-popup {
width: 252px; width: 252px;
// height: 244px; height: 224px;
background-image: url("../images/popup/popup.png"); background-image: url("../images/popup/bg2.png");
background-size: 100% 100%; background-size: 100% 100%;
z-index: 600; z-index: 600;
@ -44,8 +44,8 @@
} }
.mask { .mask {
width: 15px; width: 13px;
height: 15px; height: 13px;
cursor: pointer; cursor: pointer;
} }
} }
@ -63,7 +63,6 @@
.dot { .dot {
width: 4px; width: 4px;
height: 4px; height: 4px;
line-height: 17px;
background: #DAEBFF; background: #DAEBFF;
box-shadow: 0px 0px 10px 5px rgba(0, 119, 255, 0.25), 0px 0px 5px 0px rgba(229, 241, 255, 0.25); box-shadow: 0px 0px 10px 5px rgba(0, 119, 255, 0.25), 0px 0px 5px 0px rgba(229, 241, 255, 0.25);
border-radius: 20px 20px 20px 20px; border-radius: 20px 20px 20px 20px;
@ -79,15 +78,8 @@
line-height: 17px; line-height: 17px;
} }
.name {
// flex: 1;
flex-wrap: nowrap;
}
.position { .position {
width: 120px; width: 120px;
// flex: 1;
// flex-wrap: wrap;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -112,20 +104,15 @@
} }
} }
} }
.event-popupTwo {
// height: 190px;
}
// //
.person-popup { .person-popup {
// width: 242px; // width: 242px;
// width: 470px; width: 470px;
width: 390px;
height: 244px; height: 244px;
background-image: url("../images/popup/popup.png"); background-image: url("../images/popup/bg1.png");
background-size: 100% 100%; background-size: 100% 100%;
z-index: 600; z-index: 600;
overflow: hidden;
.person-title { .person-title {
padding: 9px 10px 0 16px; padding: 9px 10px 0 16px;
@ -154,8 +141,8 @@
.mask { .mask {
// width: 13px; // width: 13px;
width: 15px; width: 35px;
height: 15px; height: 13px;
cursor: pointer; cursor: pointer;
} }
} }
@ -232,8 +219,7 @@
.car-popup { .car-popup {
width: 262px; width: 262px;
height: 138px; height: 138px;
overflow: hidden; background-image: url("../images/popup/bg3.png");
background-image: url("../images/popup/popup.png");
background-size: 100% 100%; background-size: 100% 100%;
z-index: 600; z-index: 600;
@ -262,8 +248,8 @@
} }
.mask { .mask {
width: 15px; width: 13px;
height: 15px; height: 13px;
cursor: pointer; cursor: pointer;
} }
} }
@ -298,43 +284,21 @@
} }
} }
// .btn { .btn {
// margin-top: 19px; margin-top: 19px;
// background-image: url('../images/popup/icon1btn.png'); background-image: url('../images/popup/icon1btn.png');
// background-size: 100% 100%; background-size: 100% 100%;
// width: 100%; width: 100%;
// height: 30px; height: 30px;
// display: flex;
// align-items: center;
// justify-content: center;
// font-size: 14px;
// font-family: Source Han Sans CN-Regular, Source Han Sans CN;
// font-weight: 400;
// color: #D3EEF2;
// line-height: 20px;
// cursor: pointer;
// }
.btns {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: center;
margin-top: 19px; font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
.btn { font-weight: 400;
background-image: url("../images/popup/icon2btn.png"); color: #D3EEF2;
background-size: 100% 100%; line-height: 20px;
width: 91px; cursor: pointer;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #D3EEF2;
line-height: 20px;
cursor: pointer;
}
} }
} }
} }
@ -344,7 +308,7 @@
width: 282px; width: 282px;
// height: 230px; // height: 230px;
// height: 220px; // height: 220px;
background-image: url("../images/popup/popup.png"); background-image: url("../images/popup/bg4.png");
background-size: 100% 100%; background-size: 100% 100%;
z-index: 600; z-index: 600;
@ -374,8 +338,8 @@
} }
.mask { .mask {
width: 15px; width: 13px;
height: 15px; height: 13px;
cursor: pointer; cursor: pointer;
} }
} }
@ -393,7 +357,7 @@
.info-left { .info-left {
display: flex; display: flex;
// align-items: center; // align-items: center;
width: 35%; width: 45%;
.dot { .dot {
width: 4px; width: 4px;
height: 4px; height: 4px;
@ -545,7 +509,7 @@
} }
.travel { .travel {
background-image: url("../images/dialogbg/dialog1.png"); background-image: url("../images/dialogbg/792@2x.png");
background-size: 100% 100%; background-size: 100% 100%;
background-color: transparent; background-color: transparent;
.el-dialog__header { .el-dialog__header {
@ -585,10 +549,10 @@
} }
} }
} }
.closeimg { .close {
position: absolute; position: absolute;
width: 20px; width: 50px;
height: 20px; height: 50px;
right: 0px; right: 0px;
top: 6px; top: 6px;
cursor: pointer; cursor: pointer;

@ -4,7 +4,7 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2024-01-09 23:08:15 * @Date: 2024-01-09 23:08:15
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-09-05 17:31:00 * @LastEditTime: 2024-01-12 10:52:53
*/ */
import router from './router' import router from './router'
import store from './store' import store from './store'
@ -22,55 +22,68 @@ const whiteList = ['/login', '/register', '/bigScreen']
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()
// console.log('tototo',to.path); // console.log('tototo',to.path);
if(localStorage.getItem('accessToken')) { if(localStorage.getItem('accessToken') && localStorage.getItem('robotToken')) {
next() next()
NProgress.done() NProgress.done()
} else if (window.location.href.includes("code=")) { } else {
var reg = new RegExp(/[?&]code=([^&#]+)/); if (window.location.href.includes("code=")) {
var c = window.location.href.match(reg); var reg = new RegExp(/[?&]code=([^&#]+)/);
const code = c && c[1]; var c = window.location.href.match(reg);
getAccesstoken({code:code}).then(res=>{ const code = c && c[1];
// console.log(res,"res") getAccesstoken({code:code}).then(res=>{
// setAccessToken(res.data.accessToken) console.log(res,"res")
localStorage.setItem('accessToken',res.data.accessToken) // setAccessToken(res.data.accessToken)
// return getUserinfo({ accessToken: res.data.accessToken }) localStorage.setItem('accessToken',res.data.accessToken)
let url = window.location.href; next()
var modifiedUrl = url.replace(/[\?&](code)=.*?(#\/|$)/g, ''); NProgress.done()
// console.log(modifiedUrl,'modifiedUrl'); // return getUserinfo({accessToken:res.data.accessToken})
window.location.href = modifiedUrl; })
// next() // .then(res=>{
NProgress.done() // localStorage.setItem('AuserInfo', JSON.stringify(el.data))
})
// .then(el=>{ // })
// // setToken(el.data.token) }
// // localStorage.setItem('account',el.data.account)
// })
// .then(res=>{
// localStorage.setItem('AuserInfo', JSON.stringify(el.data))
// })
} }
// else if(getToken()) { next()
// if (getToken()) {
// to.meta.title && store.dispatch('settings/setTitle', to.meta.title) // to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
// /* has token*/ // /* has token*/
// if (store.getters.roles.length === 0) { // if (to.path === '/login') {
// // isRelogin.show = true // next({ path: '/' })
// // 判断当前用户是否已拉取完user_info信息 // NProgress.done()
// store.dispatch('GetInfo').then(() => {
// isRelogin.show = false
// next()
// NProgress.done()
// }).catch(err => {
// })
// } else { // } else {
// console.log('store.getters.roles',store.getters.roles)
// if (store.getters.roles.length === 0) {
// isRelogin.show = true
// // 判断当前用户是否已拉取完user_info信息
// store.dispatch('GetInfo').then(() => {
// isRelogin.show = false
// store.dispatch('GenerateRoutes').then(accessRoutes => {
// // 根据roles权限生成可访问的路由表
// router.addRoutes(accessRoutes) // 动态添加可访问路由表
// next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
// })
// }).catch(err => {
// store.dispatch('LogOut').then(() => {
// Message.error(err)
// next({ path: '/' })
// })
// })
// } else {
// next()
// }
// }
// } else {
// // 没有token
// if (whiteList.indexOf(to.path) !== -1) {
// // 在免登录白名单,直接进入
// next() // next()
// } else {
// next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
// NProgress.done() // NProgress.done()
// } // }
// } // }
else {
location.href = "http://10.236.2.28:54567/bjh-admin/"
}
}) })
router.afterEach(() => { router.afterEach(() => {

@ -15,7 +15,7 @@
"CENTERX": 118.80091257948892, "CENTERX": 118.80091257948892,
"CENTERY": 31.890183680582105, "CENTERY": 31.890183680582105,
"CODE": "320115402", "CODE": "320115402",
"NAME": "空港开发区", "NAME": "开发区空港开发区",
"NOTE": null, "NOTE": null,
"SHAPE_AREA": 73241240.470899999, "SHAPE_AREA": 73241240.470899999,
"SHAPE_LENG": 50271.742558899998, "SHAPE_LENG": 50271.742558899998,

@ -3,6 +3,6 @@
"name": "开发区软件园GJ02", "name": "开发区软件园GJ02",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [ "features": [
{ "type": "Feature", "properties": { "fid": 1.0, "CENTERX": 118.762835877664, "CENTERY": 31.890183680582105, "CODE": "320115402", "NAME": "江苏软件园", "NOTE": null, "SHAPE_AREA": 73241240.470899999, "SHAPE_LENG": 50271.742558899998, "SUMCASE": null, "USERID01": null, "USERID012": null, "USERID0123": null, "UserID": null, "UserID0": null, "UserID_1": null }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 118.795924761210415, 31.822844740193673 ], [ 118.791994007008626, 31.821915813271012 ], [ 118.789036842569587, 31.821275807449588 ], [ 118.782049907996893, 31.82025349400611 ], [ 118.773741979907015, 31.819054743529094 ], [ 118.768799612966433, 31.818718500351526 ], [ 118.759493119753984, 31.819742115723148 ], [ 118.751025302463788, 31.820997622322786 ], [ 118.74837406041577, 31.821381065686541 ], [ 118.749448221670164, 31.831464595478231 ], [ 118.74957711296527, 31.83262312332057 ], [ 118.750006509133939, 31.83391043717295 ], [ 118.75030706593347, 31.834639923084726 ], [ 118.751509139595214, 31.836313520295523 ], [ 118.751981376137152, 31.837085919566878 ], [ 118.753483825949885, 31.83893109296622 ], [ 118.751724029417474, 31.839231242234018 ], [ 118.750092994010828, 31.840775608498888 ], [ 118.747938421907378, 31.842308142494456 ], [ 118.745027354391496, 31.84437826161501 ], [ 118.741935838695497, 31.845749876007599 ], [ 118.739101534726359, 31.84634897358438 ], [ 118.734548783169203, 31.847375568138158 ], [ 118.735237043229375, 31.858102807951948 ], [ 118.739017010373232, 31.861280498703735 ], [ 118.742538275761518, 31.859394559490148 ], [ 118.747433140139151, 31.860254654037021 ], [ 118.753185620484203, 31.863345090141635 ], [ 118.758507434406781, 31.865232934511141 ], [ 118.77008105483398, 31.864913510547854 ], [ 118.77118047903501, 31.858323913829825 ], [ 118.77041139498327, 31.856374951295841 ], [ 118.769786635462538, 31.853564041731449 ], [ 118.770132063679711, 31.849482338635532 ], [ 118.770131823336413, 31.846865014246603 ], [ 118.772319290524024, 31.848794552093999 ], [ 118.773005619730995, 31.850553300335875 ], [ 118.773820465965898, 31.851067643996235 ], [ 118.775921704103538, 31.85149521424669 ], [ 118.777465328682553, 31.85149401500593 ], [ 118.778194170522283, 31.850849816789804 ], [ 118.777765195169678, 31.848533195028477 ], [ 118.778879911990003, 31.847974476057928 ], [ 118.779437490353544, 31.850290970503789 ], [ 118.780466508512944, 31.851019474035283 ], [ 118.781581191243134, 31.851361699375271 ], [ 118.783684095891587, 31.847472110963885 ], [ 118.783124504297618, 31.851660554272232 ], [ 118.784217538246963, 31.8508656723988 ], [ 118.785117813125495, 31.851980313270037 ], [ 118.78520339080923, 31.850328307256063 ], [ 118.786081924524183, 31.848418006016917 ], [ 118.787474874071094, 31.847665590412028 ], [ 118.78906061633873, 31.846869981850432 ], [ 118.788096167682511, 31.845648253879666 ], [ 118.78940320863731, 31.843866084922013 ], [ 118.788031604130978, 31.842666287776375 ], [ 118.787067065854714, 31.8408438274368 ], [ 118.784837887271436, 31.837756924790842 ], [ 118.786294979035375, 31.834666043559373 ], [ 118.786294892535878, 31.833722083293804 ], [ 118.782951317023546, 31.832953231291647 ], [ 118.784494287919301, 31.830377228623007 ], [ 118.785093897063817, 31.824884447278194 ], [ 118.794839771769759, 31.826729412247591 ], [ 118.795924761210415, 31.822844740193673 ] ] ] ] } } { "type": "Feature", "properties": { "fid": 1.0, "CENTERX": 118.762835877664, "CENTERY": 31.890183680582105, "CODE": "320115402", "NAME": "开发区软件园", "NOTE": null, "SHAPE_AREA": 73241240.470899999, "SHAPE_LENG": 50271.742558899998, "SUMCASE": null, "USERID01": null, "USERID012": null, "USERID0123": null, "UserID": null, "UserID0": null, "UserID_1": null }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 118.795924761210415, 31.822844740193673 ], [ 118.791994007008626, 31.821915813271012 ], [ 118.789036842569587, 31.821275807449588 ], [ 118.782049907996893, 31.82025349400611 ], [ 118.773741979907015, 31.819054743529094 ], [ 118.768799612966433, 31.818718500351526 ], [ 118.759493119753984, 31.819742115723148 ], [ 118.751025302463788, 31.820997622322786 ], [ 118.74837406041577, 31.821381065686541 ], [ 118.749448221670164, 31.831464595478231 ], [ 118.74957711296527, 31.83262312332057 ], [ 118.750006509133939, 31.83391043717295 ], [ 118.75030706593347, 31.834639923084726 ], [ 118.751509139595214, 31.836313520295523 ], [ 118.751981376137152, 31.837085919566878 ], [ 118.753483825949885, 31.83893109296622 ], [ 118.751724029417474, 31.839231242234018 ], [ 118.750092994010828, 31.840775608498888 ], [ 118.747938421907378, 31.842308142494456 ], [ 118.745027354391496, 31.84437826161501 ], [ 118.741935838695497, 31.845749876007599 ], [ 118.739101534726359, 31.84634897358438 ], [ 118.734548783169203, 31.847375568138158 ], [ 118.735237043229375, 31.858102807951948 ], [ 118.739017010373232, 31.861280498703735 ], [ 118.742538275761518, 31.859394559490148 ], [ 118.747433140139151, 31.860254654037021 ], [ 118.753185620484203, 31.863345090141635 ], [ 118.758507434406781, 31.865232934511141 ], [ 118.77008105483398, 31.864913510547854 ], [ 118.77118047903501, 31.858323913829825 ], [ 118.77041139498327, 31.856374951295841 ], [ 118.769786635462538, 31.853564041731449 ], [ 118.770132063679711, 31.849482338635532 ], [ 118.770131823336413, 31.846865014246603 ], [ 118.772319290524024, 31.848794552093999 ], [ 118.773005619730995, 31.850553300335875 ], [ 118.773820465965898, 31.851067643996235 ], [ 118.775921704103538, 31.85149521424669 ], [ 118.777465328682553, 31.85149401500593 ], [ 118.778194170522283, 31.850849816789804 ], [ 118.777765195169678, 31.848533195028477 ], [ 118.778879911990003, 31.847974476057928 ], [ 118.779437490353544, 31.850290970503789 ], [ 118.780466508512944, 31.851019474035283 ], [ 118.781581191243134, 31.851361699375271 ], [ 118.783684095891587, 31.847472110963885 ], [ 118.783124504297618, 31.851660554272232 ], [ 118.784217538246963, 31.8508656723988 ], [ 118.785117813125495, 31.851980313270037 ], [ 118.78520339080923, 31.850328307256063 ], [ 118.786081924524183, 31.848418006016917 ], [ 118.787474874071094, 31.847665590412028 ], [ 118.78906061633873, 31.846869981850432 ], [ 118.788096167682511, 31.845648253879666 ], [ 118.78940320863731, 31.843866084922013 ], [ 118.788031604130978, 31.842666287776375 ], [ 118.787067065854714, 31.8408438274368 ], [ 118.784837887271436, 31.837756924790842 ], [ 118.786294979035375, 31.834666043559373 ], [ 118.786294892535878, 31.833722083293804 ], [ 118.782951317023546, 31.832953231291647 ], [ 118.784494287919301, 31.830377228623007 ], [ 118.785093897063817, 31.824884447278194 ], [ 118.794839771769759, 31.826729412247591 ], [ 118.795924761210415, 31.822844740193673 ] ] ] ] } }
] ]
} }

@ -90,7 +90,7 @@ service.interceptors.response.use(res => {
// store.dispatch('LogOut').then(() => { // store.dispatch('LogOut').then(() => {
// location.href = '/#/login'; // location.href = '/#/login';
// }) // })
location.href = "http://10.236.2.28:54567/bjh-admin/" location.href = "https://t-jn-bjh-admin.jsszkd.com/"
}).catch(() => { }).catch(() => {
isRelogin.show = false; isRelogin.show = false;
}); });
@ -135,7 +135,7 @@ service.interceptors.response.use(res => {
console.log('err' + error) console.log('err' + error)
let { message } = error; let { message } = error;
const originalRequest = error.config; const originalRequest = error.config;
// console.log(originalRequest,'originalRequest'); console.log(originalRequest,'originalRequest');
console.log(error.response.status,'error.response.status'); console.log(error.response.status,'error.response.status');
if (message == "Network Error") { if (message == "Network Error") {
message = "后端接口连接异常"; message = "后端接口连接异常";

@ -36,9 +36,6 @@ service.interceptors.request.use(config => {
// config.headers['Authorization'] = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token 请根据实际情况自行修改 // config.headers['Authorization'] = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token 请根据实际情况自行修改
config.headers['X-Access-Token'] = localStorage.getItem('robotToken') // 让每个请求携带自定义token 请根据实际情况自行修改 config.headers['X-Access-Token'] = localStorage.getItem('robotToken') // 让每个请求携带自定义token 请根据实际情况自行修改
} }
// if (localStorage.getItem('accessToken') && isToken) {
// config.headers['X-Access-Token'] = localStorage.getItem('accessToken')
// }
// get请求映射params参数 // get请求映射params参数
if (config.method === 'get' && config.params) { if (config.method === 'get' && config.params) {
let url = config.url + '?' + tansParams(config.params); let url = config.url + '?' + tansParams(config.params);
@ -94,7 +91,7 @@ service.interceptors.response.use(res => {
// store.dispatch('LogOut').then(() => { // store.dispatch('LogOut').then(() => {
// location.href = '/#/login'; // location.href = '/#/login';
// }) // })
location.href = "http://10.236.2.28:54567/bjh-admin/" location.href = "http://39.101.188.84:9999/demo/JiangNingUmaleWeb/#/index"
}).catch(() => { }).catch(() => {
isRelogin.show = false; isRelogin.show = false;
}); });

@ -91,7 +91,7 @@ service.interceptors.response.use(res => {
// store.dispatch('LogOut').then(() => { // store.dispatch('LogOut').then(() => {
// location.href = '/#/login'; // location.href = '/#/login';
// }) // })
location.href = "http://10.236.2.28:54567/bjh-admin/" location.href = "https://t-jn-bjh-admin.jsszkd.com/"
}).catch(() => { }).catch(() => {
isRelogin.show = false; isRelogin.show = false;
}); });

@ -4,180 +4,140 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-15 09:44:13 * @Date: 2023-08-15 09:44:13
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-09-05 17:30:07 * @LastEditTime: 2024-01-11 10:10:12
--> -->
<template> <template>
<div class="left-wai-box"> <div class="left-box">
<div class="left-box" v-show="!isUnfold"> <div class="item left-list-title" :style="itemTwo">
<div class="item left-list-title" :style="itemTwo"> <title-box title="今日事件情况"></title-box>
<title-box title="今日事件情况"></title-box> <div class="item-main">
<div class="item-main"> <div class="lists">
<div class="lists"> <div class="bgc"></div>
<div class="bgc"></div> <div class="list-text"> · 上报事件总数</div>
<div class="list-text"> · 上报事件总数</div> <div class="list-bottom">
<div class="list-bottom"> <img src="@/assets/images/incident.png" alt="">
<img src="@/assets/images/incident.png" alt=""> <div class="list-num">{{ MYsummarystatdata.total || "0" }}</div>
<div class="list-num">{{ MYsummarystatdata.total || "0" }}</div>
</div>
</div>
<div class="lists">
<div class="bgc"></div>
<div class="list-text"> · 已受理事件</div>
<div class="list-bottom">
<img src="@/assets/images/incident.png" alt="">
<div class="list-num">{{ Fnsummarystat(MYsummarystatdata.records ? MYsummarystatdata.records.filter(item =>
item.status == 3) : []) }}</div>
</div>
</div>
<div class="lists">
<div class="bgc"></div>
<div class="list-text"> · 未受理事件</div>
<div class="list-bottom">
<img src="@/assets/images/incident.png" alt="">
<div class="list-num">{{ Fnsummarystat(MYsummarystatdata.records ? MYsummarystatdata.records.filter(item =>
item.status == 0) : []) }}</div>
</div>
</div> </div>
</div> </div>
</div> <div class="lists">
<div class="item left-list-title" :style="itemTwo"> <div class="bgc"></div>
<title-box title="今日任务情况"></title-box> <div class="list-text"> · 已受理事件</div>
<div class="item-main"> <div class="list-bottom">
<div class="lists"> <img src="@/assets/images/incident.png" alt="">
<div class="bgc"></div> <div class="list-num">{{ Fnsummarystat(MYsummarystatdata.records ? MYsummarystatdata.records.filter(item =>
<div class="list-text"> · 派发任务总数</div> item.status == 1) : []) }}</div>
<div class="list-bottom">
<img src="@/assets/images/task.png" alt="">
<div class="list-num">{{ tasksummarystatdata.total || '0' }}</div>
</div>
</div>
<div class="lists">
<div class="bgc"></div>
<div class="list-text"> · 已处理任务数量</div>
<div class="list-bottom">
<img src="@/assets/images/task.png" alt="">
<div class="list-num">{{ tasksummarystatdata.solved || '0' }}</div>
</div>
</div>
<div class="lists">
<div class="bgc"></div>
<div class="list-text"> · 未处理任务数量</div>
<div class="list-bottom">
<img src="@/assets/images/task.png" alt="">
<div class="list-num">{{ tasksummarystatdata.inProgress || "0" }}</div>
</div>
</div> </div>
</div> </div>
</div> <div class="lists">
<div class="item lfet-list-one" id="parent-getHeight" :style="itemOne"> <div class="bgc"></div>
<title-box title="人员在线情况" :id="1"></title-box> <div class="list-text"> · 未受理事件</div>
<map-number title="在线人员总数" :onLine="personOnLine" :sum="perpsonNum" type="人" @unfold="unfold" :numberArray="peopleArray" <div class="list-bottom">
:height="oneHeight" :id="1" v-on="$listeners"></map-number> <img src="@/assets/images/incident.png" alt="">
<div style="display:flex;justify-content:flex-end;"> <div class="list-num">{{ Fnsummarystat(MYsummarystatdata.records ? MYsummarystatdata.records.filter(item =>
<div class="pagesBtnChange"> item.status == 0) : []) }}</div>
<div @click="changePage(1)"><i class="el-icon-arrow-left"></i></div>
<div @click="changePage(2)"><i class="el-icon-arrow-right"></i></div>
</div> </div>
</div> </div>
</div> </div>
<div class="item lfet-list-two" :style="itemOne">
<title-box title="车辆在线情况"></title-box>
<map-number title="在线车辆总数" :onLine="0" :sum="18" type="辆" :numberArray="vehicleArray" :height="oneHeight"
:id="3" v-on="$listeners"></map-number>
</div>
</div> </div>
<div class="unfold-click" v-show="isUnfold" v-loading="mapLoading" element-loading-background="rgba(11, 34, 72, 0.8)"> <div class="item left-list-title" :style="itemTwo">
<div class="unfold-header"> <title-box title="今日任务情况"></title-box>
<div class="header-title"> <div class="item-main">
<div class="t-left"> <div class="lists">
<img src="@/assets/images/soundWave.png" alt=""> <div class="bgc"></div>
<span>组织人员</span> <div class="list-text"> · 派发任务总数</div>
<div class="list-bottom">
<img src="@/assets/images/task.png" alt="">
<div class="list-num">{{ tasksummarystatdata.total || '0' }}</div>
</div> </div>
<img class="t-right" @click="offUnfold" src="@/assets/images/dialogbg/close.png" alt="">
</div> </div>
<!-- <el-autocomplete <div class="lists">
prefix-icon="el-icon-search" <div class="bgc"></div>
class="inline-input" <div class="list-text"> · 已处理任务数量</div>
v-model="unfoldInput" <div class="list-bottom">
:fetch-suggestions="querySearch" <img src="@/assets/images/task.png" alt="">
placeholder="请输入关键字进行搜索" <div class="list-num">{{ tasksummarystatdata.solved || '0' }}</div>
:trigger-on-focus="false"
@select="handleSelect"
></el-autocomplete> -->
<el-input
placeholder="请输入关键字进行搜索"
prefix-icon="el-icon-search"
v-model="unfoldInput"
@input="inputChange"
></el-input>
</div>
<div class="unfold-middle" v-show="isBreadcrumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item v-for="item in breadcrumb" :key="item.id">
<div class="zhuzijiagou-list" @click="breadcrumbClick(item)">
<img :src="item.id == breadcrumb.length ? require('@/assets/images/organizationChart.png') : require('@/assets/images/organizationChartTwo.png')" alt="">
<span :class="item.name.length > 5 ? 'spanText':''">{{ item.name }}</span>
</div>
</el-breadcrumb-item>
<!-- <el-breadcrumb-item>
<div class="zhuzijiagou-list">
<img src="@/assets/images/organizationChart.png" alt="">
<span>江宁开发区</span>
</div>
</el-breadcrumb-item> -->
</el-breadcrumb>
</div>
<div class="unfold-foot" v-show="isPerson">
<ul>
<li @click="personInfo(item)" v-for="(item,index) in deptArr" :key="item.deptId">
<img src="@/assets/images/organizationChart.png" alt="">
<div>
{{ item.deptName }} <span v-if="item.zdsb"><span>{{ item.online }}</span>/{{ item.allNumber }}</span>
</div>
<i class="el-icon-arrow-right"></i>
</li>
</ul>
</div>
<div class="unfold-foot-two" v-show="!isPerson" v-loading="personLoading" element-loading-background="rgba(11, 34, 72, 0.8)">
<div class="main-lists" v-for="(item,index) in personList" :key="item.imei" :class="(index+1) % 2 == 0? 'main-lists2':''">
<div class="list-title list-titleTwo">
{{ item.userName }}
</div>
<div class="list-isLine">
{{ item.status == "1" ? '在线' : '离线'}}
</div> </div>
<div class="list-right"> </div>
<div class="real-time-location" @click="realTimeLocation(item)"> <div class="lists">
<img src="@/assets/images/location1.png" alt=""> <div class="bgc"></div>
<span>实时定位</span> <div class="list-text"> · 未处理任务数量</div>
</div> <div class="list-bottom">
<div class="route-track" @click="historicalRoute(item)"> <img src="@/assets/images/task.png" alt="">
<img src="@/assets/images/track.png" alt=""> <div class="list-num">{{ tasksummarystatdata.inProgress || "0" }}</div>
<span>行程轨迹</span>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<personage-track ref="personageTrack"></personage-track> <div class="item lfet-list-one" id="parent-getHeight" :style="itemOne">
<title-box title="人员在线情况"></title-box>
<map-number title="在线人员总数" :onLine="personOnLine" :sum="perpsonNum" type="人" :numberArray="peopleArray"
:height="oneHeight" :id="1" v-on="$listeners"></map-number>
</div>
<div class="item lfet-list-two" :style="itemOne">
<title-box title="车辆在线情况"></title-box>
<map-number title="在线车辆总数" :onLine="10" :sum="18" type="辆" :numberArray="vehicleArray" :height="oneHeight"
:id="2"></map-number>
</div>
</div> </div>
</template> </template>
<script> <script>
import titleBox from '../../components/title/index.vue' import titleBox from '../../components/title/index.vue'
import mapNumber from '../../components/mapLeftNumber/index.vue' import mapNumber from '../../components/mapLeftNumber/index.vue'
import { getTrend, summarystat, tasksummarystat } from '@/api/bigScreenApi/eventApi.js' import { getTrend, summarystat, tasksummarystat } from '@/api/bigScreenApi/eventApi.js'
import { getQueryViewListPage, onlinePeople, onlineNumSize, getUserCount, getImeiUserOnline } from "@/api/bigScreenApi/index.js" import { getQueryViewListPage } from "@/api/bigScreenApi/index.js"
import personageTrack from "../../components/personagetrack/index.vue";
export default { export default {
name: 'mapLeftContent', name: 'mapLeftContent',
components: { titleBox, mapNumber, personageTrack }, components: { titleBox, mapNumber },
data() { data() {
return { return {
perpsonNum: 0, perpsonNum: 0,
personOnLine: 0, personOnLine: 0,
peopleArray: [], peopleArray: [
peopleNewArray:[], {
vehicleArray: [], title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
}, {
title: '李飞'
},
],
vehicleArray: [
{
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
}, {
userName: '苏A123456'
},
],
itemOne: { itemOne: {
height: '', height: '',
}, },
@ -192,44 +152,40 @@ export default {
pageNo: "1", pageNo: "1",
pageSize: "10" pageSize: "10"
}, },
page: 1, eventData: {
"queryValue": [
// {
// "colCode": "name",
// "queryValue": "111"
// },
],
"myInstanceClassify": "all"
},
MYsummarystatdata: { MYsummarystatdata: {
records: [] records: []
},// },//
tasksummarystatdata: {}, // tasksummarystatdata: {} //
isUnfold:false,
unfoldInput:"",
isPerson:true,
breadcrumb:[],
deptArr: null,
allDeptArr:null,
myId: 1,
personList:[],
mapLoading:false,
personLoading:false,
isBreadcrumb:true,
account:"",
} }
}, },
props: ['personLine', 'carLine'], props: ['personLine', 'carLine'],
watch: { watch: {
// personLine: { personLine: {
// handler(newPerson) { handler(newPerson) {
// // console.log(newPerson,'线'); // console.log(newPerson,'线');
// this.peopleArray = newPerson this.peopleArray = newPerson
// if (newPerson) { if (newPerson) {
// this.perpsonNum = newPerson.length; this.perpsonNum = newPerson.length;
// let line = 0; let line = 0;
// newPerson.forEach(element => { newPerson.forEach(element => {
// if (element.status == "1") { if (element.status == "1") {
// line += 1 line += 1
// } }
// }); });
// this.personOnLine = line this.personOnLine = line
// } }
// }, },
// immediate: true, immediate: true,
// }, },
carLine: { carLine: {
handler(newPerson) { handler(newPerson) {
// console.log(newPerson,'线'); // console.log(newPerson,'线');
@ -247,65 +203,28 @@ export default {
let height = dom[0].getBoundingClientRect(); let height = dom[0].getBoundingClientRect();
let windowHeight = window.innerHeight; let windowHeight = window.innerHeight;
// let relativeHeight = (windowHeight - height.top) / 2 - 14; // let relativeHeight = (windowHeight - height.top) / 2 - 14;
let relativeHeight = (windowHeight - height.top) / 2; let relativeHeight = (windowHeight - height.top) / 2 + 4;
let sum = relativeHeight * 2 - 2; let sum = relativeHeight * 2 - 2;
// let relativeHeight2 = (windowHeight - height2.top - sum) / 2 - 55; // let relativeHeight2 = (windowHeight - height2.top - sum) / 2 - 55;
let relativeHeight2 = (windowHeight - height2.top - sum) / 2 - 110; let relativeHeight2 = (windowHeight - height2.top - sum) / 2 - 115;
this.itemOne.height = relativeHeight + 'px'; this.itemOne.height = relativeHeight + 'px';
this.itemTwo.height = relativeHeight2 + 'px'; this.itemTwo.height = relativeHeight2 + 'px';
this.oneHeight = Number(relativeHeight); this.oneHeight = Number(relativeHeight);
}) })
}, },
getEvent() { getEvent() {
onlinePeople({pageNum:1,pageSize:10}).then(res=>{ getQueryViewListPage(this.eventList, this.eventData).then(res => {
// console.log(res,"res"); console.log(res, 'resres');
this.perpsonNum = res.data.length;
this.peopleNewArray = [...res.data];
this.peopleArray = res.data.slice(0,10);
})
},
getOnline(){
onlineNumSize().then(res=>{
this.personOnLine = res.data;
}) })
}, },
changePage(id){
if(id == 1) {
if(this.page == 1) {
this.$modal.msgError("已到第一页");
return;
}
this.getOnline();
this.peopleArray = this.peopleNewArray.slice((this.page-2)*10,(this.page-1)*10);
this.page--;
// onlinePeople({pageNum:--this.page,pageSize:10}).then(res=>{
// // this.personOnLine = res.rows;
// this.peopleArray = res.rows;
// })
} else if(id == 2) {
if(this.page == parseInt(this.perpsonNum / 10) + 1){
this.$modal.msgError("已到最后一页");
return;
}
this.getOnline();
this.peopleArray = this.peopleNewArray.slice(this.page*10,(this.page+1)*10);
this.page++;
// onlinePeople({pageNum:++this.page,pageSize:10}).then(res=>{
// // this.personOnLine = res.rows;
// this.peopleArray = res.rows;
// })
}
},
MYsummarystat() { MYsummarystat() {
// //
summarystat({account:"superAdmin"}).then(res => { summarystat().then(res => {
if (res.code == 200) this.MYsummarystatdata = res.data if (res.code == 200) this.MYsummarystatdata = res.data
}) })
// //
tasksummarystat({account:"superAdmin"}).then(res => { tasksummarystat().then(res => {
if (res.code == 200) this.tasksummarystatdata = res.data if (res.code == 200) this.tasksummarystatdata = res.data
}) })
}, },
@ -313,123 +232,6 @@ export default {
Fnsummarystat(data) { Fnsummarystat(data) {
let mydata = data.length != 0 ? data[0].count : '0' let mydata = data.length != 0 ? data[0].count : '0'
return mydata return mydata
},
//
unfold(){
this.isUnfold = true;
this.mapLoading = true;
getUserCount().then(res=>{
if(res.code == 200){
let obj = {id:1,name:res.data[0].deptName}
this.breadcrumb.push(obj);
// console.log(res.data[0].children);
this.deptArr = res.data[0].children;
this.allDeptArr = [...res.data];
this.mapLoading = false;
}
})
},
//
offUnfold(){
this.isUnfold = false;
this.isPerson = true;
this.isBreadcrumb = true;
this.breadcrumb = [];
this.unfoldInput = "";
},
//
// querySearch(){},
// handleSelect(){},
//
personInfo(item){
if(item.children) {
this.deptArr = item.children;
this.isPerson = true;
} else {
this.isPerson = false;
this.personList = item.zdsb;
}
if(item.parentId == 0) return
let id = this.myId++;
let obj = {id:++id,name:item.deptName}
// console.log(obj,"obj");
this.breadcrumb.push(obj);
},
// TODO:
realTimeLocation(item){
this.$emit("realTimeLocationClick", item,1);
},
//
historicalRoute(item){
this.$refs.personageTrack.open("person", item);
},
//
breadcrumbClick(row){
// if(row.id == 2 && this.breadcrumb.length > 2) {
// this.breadcrumb = this.breadcrumb.slice(0,row.id);
// this.isPerson = true;
// }
this.recursion(this.allDeptArr,row.name)
this.myId = row.id;
this.breadcrumb = this.breadcrumb.slice(0,row.id);
this.isPerson = true;
},
//
recursion(item,name) {
// item.map(item => {
// if(item.deptName == name) {
// this.deptArr = item.children;
// } else {
// this.recursion(item.children,name);
// }
// })
for (let i = 0; i < item.length; i++) {
if (item[i].deptName === name) {
this.deptArr = item[i].children;
return;
} else {
if(item[i].children) {
let result = this.recursion(item[i].children,name);
if (result) {
return result;
} else {
continue;
}
}
}
}
},
//
inputChange(value){
if(value) {
this.isPerson = false;
this.personLoading = true;
this.isBreadcrumb = false;
const throttledSearch = this.throttle(()=>{
getImeiUserOnline(value).then(res=>{
this.personList = res.data;
this.personLoading = false;
})
},500)
throttledSearch(value)
} else {
this.isPerson = true;
this.isBreadcrumb = true;
}
},
//
throttle(fn, delay) {
let timer = null;
return () => {
let context = this;
let args = arguments;
if (!timer) {
timer = setTimeout(function() {
fn.apply(context, args);
timer = null;
}, delay);
}
}
} }
}, },
mounted() { mounted() {
@ -438,44 +240,28 @@ export default {
this.getDomHeight(); this.getDomHeight();
}); });
this.getDomHeight(); this.getDomHeight();
this.getEvent(); // this.getEvent();
this.getOnline(); // getTrend({ type: 1 }).then(res => {
this.account = localStorage.getItem('account') // console.log(res, '');
this.MYsummarystat() // })
}, },
created() {
this.MYsummarystat()
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.left-wai-box {
height: 100%;
}
.left-box { .left-box {
display: grid; display: grid;
grid-column: 1fr; grid-column: 1fr;
grid-row-gap: 20px; grid-row-gap: 24px;
height: 100%; height: 100%;
.item { .item {
.pagesBtnChange {
display: flex;
align-items: center;
z-index: 800;
div {
margin-top: 2px;
font-size: 14px;
display: flex;
align-items: center;
padding: 2px 10px;
color: #52B1FF;
border: 1px solid #52B1FF;
cursor: pointer;
margin-right: 5px;
display: flex;
align-items: center;
font-size: 15px;
line-height: 30px;
}
}
// background: rgba(222, 225, 230, 0.6); // background: rgba(222, 225, 230, 0.6);
.item-main { .item-main {
margin-top: 5px; margin-top: 5px;
@ -546,174 +332,4 @@ export default {
height: 100%; height: 100%;
} }
} }
.unfold-click {
height: 100%;
.unfold-header {
padding: 10px 20px;
.header-title {
display: flex;
align-items: center;
margin-bottom: 10px;
.t-left {
flex: 1;
display: flex;
align-items: center;
img {
width: 25px;
margin-right: 5px;
}
span {
color: #05eef5;
}
}
.t-right {
width: 20px;
cursor: pointer;
}
}
::v-deep .el-input {
background-image: url("../../../assets/images/bgtongyongTwo.png");
background-size: 100% 100%;
.el-input__inner {
background-color: transparent;
// width: 222px;
width: 100%;
height: 38px;
color: #fff;
border: none;
}
.el-input__inner::placeholder {
/* 在这里添加你想要修改的 placeholder 样式 */
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
line-height: 20px;
}
}
.el-input__suffix {
line-height: 44px;
color: #d3eef2;
right: 10px;
cursor: pointer;
.el-icon-search:before {
font-size: 24px;
color: #d3eef2;
}
}
}
.unfold-middle {
padding: 10px 20px;
background: #2a67a4;
::v-deep .el-breadcrumb__item {
display: flex;
align-items: center;
.el-breadcrumb__inner {
display: inline-block;
.zhuzijiagou-list {
display: flex;
align-items: center;
cursor: pointer;
img {
width: 15px;
margin-right: 5px;
}
span {
color: #b8cce1;
}
.spanText {
white-space:nowrap;/*强制单行显示*/
text-overflow:ellipsis;/*超出部分省略号表示*/
overflow:hidden;/*超出部分隐藏*/
width: 80px;/*设置显示的最大宽度*/
}
}
}
}
}
.unfold-foot {
padding: 10px 20px;
ul {
padding-left: 0;
li {
list-style: none;
display: flex;
align-items: center;
margin: 10px 0;
cursor: pointer;
img {
width: 15px;
margin-right: 10px;
}
div {
flex: 1;
color: #ebeff5;
span {
color: #02f7fb;
}
}
i {
color: #ebeff5;
}
}
}
}
.unfold-foot-two {
padding: 10px 0;
height: calc(100% - 90px);;
overflow-y: auto;
.main-lists {
display: flex;
justify-content: space-between;
background: rgba(216,216,216,0.05);
height: 33px;
align-items: center;
padding: 0 20px;
.list-title {
flex: 1;
font-size: 14px;
font-family: 'Source Han Sans CN-Regular';
font-weight: 400;
color: #D3EEF2;
line-height: 20px;
// padding-left: 24px;
}
.list-isLine {
flex: .5;
font-size: 14px;
font-family: 'Source Han Sans CN-Regular';
font-weight: 400;
color: #D3EEF2;
line-height: 20px;
}
.list-titleTwo {
flex: .5;
}
.list-right {
// flex: 1;
display: flex;
align-items: center;
font-size: 14px;
font-family: 'Source Han Sans CN-Regular';
font-weight: 400;
color: #52B1FF;
.real-time-location {
margin-right: 22px;
}
.real-time-location,.route-track {
display: flex;
align-items: center;
cursor: pointer;
img {
width: 18px;
margin-right: 5px;
}
}
}
}
.main-lists2 {
background: rgba(187,220,255,0.2);
}
}
}
</style> </style>

@ -4,7 +4,7 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-15 11:09:57 * @Date: 2023-08-15 11:09:57
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-04-01 10:14:26 * @LastEditTime: 2023-12-25 11:13:11
--> -->
<template> <template>
<div class="right-box"> <div class="right-box">
@ -29,10 +29,6 @@
<script> <script>
import titleBox from '../../components/title/index.vue' import titleBox from '../../components/title/index.vue'
import mapRight from '../../components/mapRight/index.vue' import mapRight from '../../components/mapRight/index.vue'
import {
getFence,
} from "@/api/bigScreenApi";
import { statgrid, statroad, statregion } from "@/api/bigScreenApi/eventApi"
export default { export default {
name:'mapRightContent', name:'mapRightContent',
components:{titleBox,mapRight}, components:{titleBox,mapRight},
@ -109,30 +105,36 @@ export default {
watch:{ watch:{
quyuData:{ quyuData:{
handler(newQuyu){ handler(newQuyu){
// console.log(newQuyu,'');
if(newQuyu) { if(newQuyu) {
// this.quyuArray = newQuyu; this.quyuArray = newQuyu
// console.log(""); }
this.getquyu(newQuyu); },
immediate:true,
},
weilanData:{
handler(newWeilan){
// console.log(newWeilan,'');
if(newWeilan) {
this.weilanArray = newWeilan
} }
}, },
immediate:true, immediate:true,
}, },
luduanData:{ luduanData:{
handler(newLuduan){ handler(newLuduan){
// console.log(newLuduan,'');
if(newLuduan) { if(newLuduan) {
// console.log(""); this.luduanArray = newLuduan
// this.luduanArray = newLuduan;
this.getLuduan(newLuduan);
} }
}, },
immediate:true, immediate:true,
}, },
wanggeData: { wanggeData: {
handler(newWange){ handler(newWange){
// console.log(newWange,'');
if(newWange) { if(newWange) {
// console.log(""); this.wanggeArray = newWange
// this.wanggeArray = newWange;
this.getWangge(newWange);
} }
}, },
immediate:true, immediate:true,
@ -151,103 +153,6 @@ export default {
this.getHeight = Number(relativeHeight); this.getHeight = Number(relativeHeight);
} }
}) })
},
getWeilan(){
getFence().then(res=>{
if(res.code == 200) {
this.weilanArray = res.data;
}
})
},
async getWangge(newWange){
try {
let wagearr = [...newWange]
let promises = wagearr.map(async (item)=>{
let data = {
startTime: this.getCurrentTime(),
// startTime: '2024-01-01',
endTime: this.getCurrentTime(1),
// endTime: '2024-04-01',
gridId: item.id
}
const result = await statgrid(data);
item.total = result.data.total;
item.handled = result.data.handled;
item.unhandled = result.data.unhandled;
return item;
})
const combinedData = await Promise.all(promises);
this.wanggeArray = combinedData;
} catch {
}
},
async getquyu(newQuyu){
try {
let quyuarr = [...newQuyu]
let promises = quyuarr.map(async(item)=>{
let data = {
startTime: this.getCurrentTime(),
endTime: this.getCurrentTime(1),
gridId: item.id
}
// setTimeout(async()=>{
const result = await statroad(data);
item.total = result.data.total;
item.handled = result.data.handled;
item.unhandled = result.data.unhandled;
// },500)
// statroad(data).then(res=>{
// this.$set(item,'total',res.data.total);
// item.total = res.data.total;
// item.handled = res.data.handled;
// item.unhandled = res.data.unhandled;
// })
return item;
})
const combinedData = await Promise.all(promises);
this.quyuArray = combinedData;
} catch (error) {
}
},
async getLuduan(newLuduan){
try {
let promises = newLuduan.map(async (item)=>{
let data = {
startTime: this.getCurrentTime(),
endTime: this.getCurrentTime(1),
gridId: item.id
}
const result = await statregion(data);
item.total = result.data.total;
item.handled = result.data.handled;
item.unhandled = result.data.unhandled;
// statregion(data).then(res=>{
// this.$set(item,'total',res.data.total);
// item.total = res.data.total;
// item.handled = res.data.handled;
// item.unhandled = res.data.unhandled;
// })
return item;
})
const combinedData = await Promise.all(promises);
this.luduanArray = combinedData;
} catch (error) {
}
},
getCurrentTime(id) {
const currentDate = new Date();
if(id){
currentDate.setDate(currentDate.getDate() + 1);
}
const year = currentDate.getFullYear();
const month = currentDate.getMonth() + 1 < 10 ? '0' + (currentDate.getMonth() + 1) : currentDate.getMonth() + 1; // 01
const day = currentDate.getDate() < 10 ? '0' + currentDate.getDate() : currentDate.getDate();
return year + "-" + month + "-" + day;
} }
}, },
mounted(){ mounted(){
@ -256,7 +161,6 @@ export default {
this.getDomHeight(); this.getDomHeight();
}); });
this.getDomHeight(); this.getDomHeight();
this.getWeilan();
}, },
} }
</script> </script>
@ -264,7 +168,7 @@ export default {
.right-box { .right-box {
display: grid; display: grid;
grid-column: 1fr; grid-column: 1fr;
grid-row-gap: 15px; grid-row-gap: 20px;
height: 100%; height: 100%;
.item { .item {
// background: rgba(222, 225, 230, 0.6); // background: rgba(222, 225, 230, 0.6);

@ -4,7 +4,7 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-14 14:40:02 * @Date: 2023-08-14 14:40:02
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-01-23 17:53:57 * @LastEditTime: 2023-12-28 11:10:12
--> -->
<template> <template>
<div class="pc-container"> <div class="pc-container">
@ -98,7 +98,7 @@ export default {
this.rightAnimation = !this.rightAnimation; this.rightAnimation = !this.rightAnimation;
}, },
changeBackground(id){ changeBackground(id){
// console.log(id); console.log(id);
this.backgroundId = id; this.backgroundId = id;
} }
// getcodeImg(){ // getcodeImg(){
@ -236,6 +236,20 @@ div {
background-color: rgba(100, 124, 176, 0.29); background-color: rgba(100, 124, 176, 0.29);
} }
} }
// .left-animation-enter-active{
// transition: all .8s ease;
// }
// .left-animation-enter{
// transform: translateX(510px);
// opacity: 0;
// }
// .left-animation-leave-active{
// transition: all .8s ease;
// }
// .left-animation-leave{
// transform: translateX(510px);
// opacity: 1;
// }
.left-animation-enter-active, .left-animation-enter-active,
.left-animation-leave-active { .left-animation-leave-active {
transition: all 1s; transition: all 1s;
@ -298,7 +312,7 @@ div {
display: flex; display: flex;
padding: 0 40px; padding: 0 40px;
.system-title { .system-title {
padding: 15px 0 0 45px; padding: 18px 0 0 65px;
font-size: 40px; font-size: 40px;
font-family: "YouSheBiaoTiHei"; font-family: "YouSheBiaoTiHei";
font-weight: 400; font-weight: 400;

File diff suppressed because it is too large Load Diff

@ -1,77 +0,0 @@
<template>
<dia-log ref="dialog4" width="45%" title="实时监控" @close="Close">
<div class="video-main">
<!-- muted是否静音 -->
<video
id="video"
preload="auto"
controls
autoplay
class="video-js vjs-default-skin vjs-big-play-centered"
style="width: 100%; height: 100%; object-fit: fill"
>
<source :src="videoUrl" type="application/x-mpegURL" />
</video>
</div>
</dia-log>
</template>
<script>
import diaLog from "../../components/dialog/index.vue"
import Videojs from "video.js"
import "videojs-contrib-hls";
// json
import video_zhCN from 'video.js/dist/lang/zh-CN.json'
//
Videojs.addLanguage('zh-CN', video_zhCN)
export default {
components:{diaLog},
data() {
return {
videoUrl: "",
videoPlayer: null,
}
},
props:{},
methods:{
open(url) {
this.$refs.dialog4.open('3');
this.initVideo();
this.videoUrl = url;
},
Close() {
// this.videoPlayer.dispose();
if(this.videoPlayer){
this.videoPlayer.dispose();
}
},
initVideo(){
this.$nextTick(() => {
this.videoPlayer = Videojs(`video`,{
bigPlayButton: true, //
textTrackDisplay: false,
posterImage: false,
errorDisplay: false,
language: 'zh-CN',
controls: true,
height: '100%',
hls: {
withCredentials: true,
},
})
});
},
},
destroyed() {
if(this.videoPlayer){
this.videoPlayer.dispose();
}
}
}
</script>
<style lang="scss" scoped>
.video-main {
width: 100%;
height: 500px;
padding: 0 40px 0 0;
}
</style>

@ -4,22 +4,22 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-17 09:04:40 * @Date: 2023-08-17 09:04:40
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-03-07 13:53:39 * @LastEditTime: 2023-12-11 13:23:15
--> -->
<template> <template>
<dia-log ref="dialog2" width="30%" title="人员指派"> <dia-log ref="dialog2" width="30%" title="人员指派">
<div class="crew-assign"> <div class="crew-assign">
<div class="item"> <div class="item">
<div class="ball"></div> <div class="ball"></div>
<div class="content">事件名称<span>{{ eventInfo.name }}</span></div> <div class="content">事件名称<span>xx小区乱堆杂物</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="ball"></div> <div class="ball"></div>
<div class="content">事件类别<span>{{ eventInfo.type }}</span></div> <div class="content">事件类别<span>暴露垃圾</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="ball"></div> <div class="ball"></div>
<div class="content">事件地址<span>{{ eventInfo.address }}</span></div> <div class="content">事件地址<span>xx街道xx小区</span></div>
</div> </div>
<div class="itemtwo"> <div class="itemtwo">
<div class="left"> <div class="left">
@ -27,21 +27,15 @@
<div class="content">指派人员</div> <div class="content">指派人员</div>
</div> </div>
<div class="right"> <div class="right">
<el-cascader <el-select v-model="value" placeholder="请选择">
v-model="value" <el-option
:options="options"
placeholder="请选择"
@change="handleChange"
:props="perpsonProps"
>
<!-- <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
> >
</el-option> --> </el-option>
</el-cascader> </el-select>
</div> </div>
</div> </div>
<div class="itemtwo"> <div class="itemtwo">
@ -52,7 +46,6 @@
<div class="right"> <div class="right">
<el-date-picker <el-date-picker
v-model="dateTime" v-model="dateTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime" type="datetime"
placeholder="选择日期时间" placeholder="选择日期时间"
> >
@ -69,70 +62,39 @@
</template> </template>
<script> <script>
import diaLog from "../../components/dialog/index.vue"; import diaLog from "../../components/dialog/index.vue";
import { hasImeiTree, getDept } from "@/api/bigScreenApi"
import {
formEngineSaveData,
auditSubmit,
} from "@/api/bigScreenApi/robot.js";
export default { export default {
components: { diaLog }, components: { diaLog },
data() { data() {
return { return {
dateTime: "", dateTime: "",
options: [], options: [
value: "", {
perpsonProps:{ value: "选项1",
label:"deptName", label: "李飞",
value:"deptId",
lazy:true,
lazyLoad:(node, resolve)=>{
const { children,value,level } = node;
if(children?.length == 0 ) {
getDept(value).then(res=>{
const nodes = Array.from(res.data).map((item)=>{
return {
deptId:item.userName,
deptName:item.nickName,
leaf:level >= level
}
})
resolve(nodes)
})
} else {
resolve(node)
}
}
},
eventInfo:{},
query:{
formKey:"event-holder",
isFlow:"true",
},
body:{
formData:{
"report-event":{
id:"", // id
tasks:{
taskRandNumber:"", //
taskDeadline:"", //
taskName:"" //
},
}
}, },
saveParameter:{}, {
docList:[], value: "选项2",
} label: "李飞",
},
{
value: "选项3",
label: "李飞",
},
{
value: "选项4",
label: "李飞",
},
{
value: "选项5",
label: "李飞",
},
],
value: "",
}; };
}, },
methods: { methods: {
open(info) { open() {
this.$refs.dialog2.open("2"); this.$refs.dialog2.open("2");
hasImeiTree().then(res=>{
console.log('部门树',res);
this.options = res.data[0].children[0].children;
console.log(this.options,"this.options");
})
this.eventInfo = info;
}, },
Close() { Close() {
this.$refs.dialog2.Close(); this.$refs.dialog2.Close();
@ -141,83 +103,7 @@ export default {
cancel() { cancel() {
this.$refs.dialog2.Close(); this.$refs.dialog2.Close();
}, },
confirm() { confirm() {},
if( !this.dateTime & !this.value) {
this.$modal.msgError("请选择指派人员和截止时间")
} else if(!this.dateTime){
this.$modal.msgError("请选择截止时间")
} else if(!this.value) {
this.$modal.msgError("请选择指派人员")
} else {
// console.log(this.body.reportEvent);
let body = {
formData:{
"report-event":{
id: this.eventInfo.id, // id
tasks:{
taskIsdiscard: "0",
taskVoidReason: "",
taskType: "2",
taskRandNumber:this.getCurrentTime(), //
taskDeadline:this.dateTime, //
taskStatus: "6",
taskName:this.eventInfo.name //
},
status: "1"
}
},
saveParameter:{},
docList:[],
}
formEngineSaveData(this.query,body).then(res=>{
// console.log(res,"");
// name
let name = this.recursion(this.value[this.value.length - 2],this.options);
if(res.code == 200) {
auditSubmit({formId:res.result,phone:this.value[this.value.length - 1],depName:"集团有限公司环卫管理部"}).then(resTwo=>{
// console.log(resTwo,"");
if(resTwo.code == 200) {
this.value = "";
this.dateTime = "";
this.$modal.msgSuccess("指派成功");
this.Close();
}
}).catch(err=>{
this.value = "";
this.dateTime = "";
this.Close();
})
}
})
}
},
handleChange(value){
console.log(value);
},
recursion(id,arr){
for (let i = 0; i < arr.length; i++) {
if (arr[i].deptId === id) {
return arr[i].deptName;
} else if (arr[i].children) {
let result = this.recursion(id, arr[i].children);
if (result) {
return result;
}
}
}
return null;
},
getCurrentTime() {
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = ('0' + (currentDate.getMonth() + 1)).slice(-2);
var day = ('0' + currentDate.getDate()).slice(-2);
var hours = ('0' + currentDate.getHours()).slice(-2);
var minutes = ('0' + currentDate.getMinutes()).slice(-2);
var seconds = ('0' + currentDate.getSeconds()).slice(-2);
var milliseconds = ('00' + currentDate.getMilliseconds()).slice(-3);
return year + month + day + hours + minutes + seconds + milliseconds;
}
}, },
}; };
</script> </script>
@ -314,7 +200,7 @@ export default {
-webkit-text-fill-color: rgba(211, 238, 242, 0.2); -webkit-text-fill-color: rgba(211, 238, 242, 0.2);
} }
} }
::v-deep .el-cascader { ::v-deep .el-select {
background-color: transparent; background-color: transparent;
width: 350px; width: 350px;
.el-input .el-input

@ -4,22 +4,9 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-16 14:19:37 * @Date: 2023-08-16 14:19:37
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-01-23 15:44:59 * @LastEditTime: 2024-01-12 11:29:36
--> -->
<template> <template>
<!-- :custom-class="
type == 1
? 'dialog-boxed'
: type == 2
? 'dialog-boxed2'
: type == 3
? 'dialog-boxed3'
: type == 9
? 'dialog-boxed9'
: type == 10
? 'dialog-boxed10'
: ''
" -->
<el-dialog <el-dialog
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:show-close="false" :show-close="false"
@ -29,16 +16,24 @@
:width="width" :width="width"
:style="heightStyle" :style="heightStyle"
append-to-body append-to-body
:custom-class="
type == 1
? 'dialog-boxed'
: type == 2
? 'dialog-boxed2'
: type == 3
? 'dialog-boxed3'
: type == 10
? 'dialog-boxed10'
: ''
"
> >
<template slot="title"> <template slot="title">
<div class="closeClick"> <div class="closeClick">
<div class="headline" text="title123kmalskdnj"> <div class="headline" text="title123kmalskdnj">
<div class="headlinetitle" :text="title">{{ title }}</div> <div class="headlinetitle" :text="title">{{ title }}</div>
<!-- <img src="@/assets/images/dialogbg/close.png" class="closeimg" @click="Close" alt="" /> -->
</div> </div>
<img src="@/assets/images/dialogbg/close.png" class="closeimg" @click="Close" alt="" /> <div class="close" @click="Close"></div>
<!-- <div class="close" @click="Close"></div> -->
</div> </div>
</template> </template>
<slot> </slot> <slot> </slot>
@ -88,7 +83,7 @@ export default {
// width: vw(878); // width: vw(878);
// height: 520px; // height: 520px;
// border: 1px solid red; // border: 1px solid red;
background-image: url("../../../assets/images/dialogbg/dialog1.png"); background-image: url("../../../assets/images/dialogbg.png");
background-size: 100% 100%; background-size: 100% 100%;
background-color: transparent; background-color: transparent;
.el-dialog__header { .el-dialog__header {
@ -127,14 +122,11 @@ export default {
text-shadow: none; text-shadow: none;
} }
} }
} }
.closeimg { .close {
// width: 20px;
// height: 20px;
position: absolute; position: absolute;
width: 20px; width: 50px;
height: 20px; height: 50px;
right: 0px; right: 0px;
top: 6px; top: 6px;
cursor: pointer; cursor: pointer;
@ -148,16 +140,16 @@ export default {
::v-deep .dialog-boxed { ::v-deep .dialog-boxed {
background-image: url("../../../assets/images/dialogbg/dialog13.png"); background-image: url("../../../assets/images/dialogbg/dialog13.png");
.el-dialog__header { .el-dialog__header {
// .closeClick { .closeClick {
// .close { .close {
// position: absolute; position: absolute;
// width: 27px; width: 27px;
// height: 23px; height: 23px;
// right: 10px; right: 10px;
// top: 18px; top: 18px;
// cursor: pointer; cursor: pointer;
// } }
// } }
} }
} }
::v-deep .dialog-boxed2 { ::v-deep .dialog-boxed2 {
@ -166,46 +158,31 @@ export default {
::v-deep .dialog-boxed3 { ::v-deep .dialog-boxed3 {
background-image: url("../../../assets/images/dialogbg/792@2x.png"); background-image: url("../../../assets/images/dialogbg/792@2x.png");
.el-dialog__header { .el-dialog__header {
// .closeClick { .closeClick {
// .close { .close {
// position: absolute; position: absolute;
// width: 20px; width: 20px;
// height: 18px; height: 18px;
// right: 17px; right: 17px;
// top: 8px; top: 8px;
// cursor: pointer; cursor: pointer;
// } }
// } }
}
}
::v-deep .dialog-boxed9 {
background-image: url("../../../assets/images/dialogbg/792@2x.png");
.el-dialog__header {
// .closeClick {
// .close {
// position: absolute;
// width: 27px;
// height: 25px;
// right: 20px;
// top: 12px;
// cursor: pointer;
// }
// }
} }
} }
::v-deep .dialog-boxed10 { ::v-deep .dialog-boxed10 {
background-image: url("../../../assets/images/dialogbg/792@2x.png"); background-image: url("../../../assets/images/dialogbg/792@2x.png");
.el-dialog__header { .el-dialog__header {
// .closeClick { .closeClick {
// .close { .close {
// position: absolute; position: absolute;
// width: 27px; width: 20px;
// height: 27px; height: 18px;
// right: 20px; right: 17px;
// top: 15px; top: 8px;
// cursor: pointer; cursor: pointer;
// } }
// } }
} }
} }
</style> </style>

@ -1,29 +1,19 @@
<template> <template>
<div class="left-number" id="parent"> <div class="left-number" id="parent">
<div class="number-title"> <div class="number-title">
<div class="title-left"> <div>· {{ title }}</div>
<div>· {{ title }}</div>
<div class="title-num" v-show="id == 1" @click="unfold">
展开
</div>
</div>
<div>{{ onLine }}/{{ sum }}{{ type }}</div> <div>{{ onLine }}/{{ sum }}{{ type }}</div>
</div> </div>
<div class="header-title"> <div class="header-title">
<div class="header-title-left" :class="id == 1 ? 'header-title-left-two' : ''">{{ id == 1 ? "姓名" : "车牌号" }}</div> <div>{{ id == 1 ? "姓名" : "车牌号" }}</div>
<div class="header-title-center" v-show="id == 1">线</div>
<div class="header-title-right">实时定位/行程轨迹</div> <div class="header-title-right">实时定位/行程轨迹</div>
</div> </div>
<!-- <div class="left--lists" id="box" :style="{'height':(height - lists.height - 11) + 'px'}"> --> <!-- <div class="left--lists" id="box" :style="{'height':(height - lists.height - 11) + 'px'}"> -->
<div class="left--lists" id="box" :style="{'height':(height - lists.height + 5) + 'px'}"> <div class="left--lists" id="box" :style="{'height':(height - lists.height + 5) + 'px'}">
<div class="main-lists" v-for="(item,index) in numberArray" :key="index" :class="(index+1) % 2 == 0? 'main-lists2':''"> <div class="main-lists" v-for="(item,index) in numberArray" :key="index" :class="(index+1) % 2 == 0? 'main-lists2':''">
<div class="list-title" :class="id == 1 ? 'list-titleTwo' : 'list-title'"> <div class="list-title">
{{ item.userName || item.carCode}} {{ item.userName || item.carCode}}
</div> </div>
<div class="list-isLine" v-show="id == 1">
{{ item.status == "1" ? '在线' : '离线'}}
</div>
<div class="list-right"> <div class="list-right">
<div class="real-time-location" @click="realTimeLocation(item)"> <div class="real-time-location" @click="realTimeLocation(item)">
<img src="@/assets/images/location1.png" alt=""> <img src="@/assets/images/location1.png" alt="">
@ -84,21 +74,14 @@ export default {
// TODO: // TODO:
realTimeLocation(item){ realTimeLocation(item){
if(this.id == 1) { if(this.id == 1) {
this.$emit("realTimeLocationClick", item,this.id); this.$emit("realTimeLocationClick", item);
} else if(this.id == 3) {
this.$emit("carTimeLocationClick", item,this.id);
} }
}, },
// //
historicalRoute(item){ historicalRoute(item){
if(this.id == 1) { if(this.id == 1) {
this.$refs.personageTrack.open("person", item); this.$refs.personageTrack.open("person", item);
} else if(this.id == 3) {
this.$refs.personageTrack.open("car", item);
} }
},
unfold(){
this.$emit("unfold")
} }
}, },
mounted(){ mounted(){
@ -141,27 +124,6 @@ export default {
color: #D3EEF2; color: #D3EEF2;
line-height: 23px; line-height: 23px;
} }
.title-left {
display: flex;
align-items: center;
}
.title-num {
font-size: 14px;
display: flex;
align-items: center;
padding: 0px 20px;
// color: #52B1FF;
color: #fff;
border: 1px solid #52B1FF;
cursor: pointer;
display: flex;
align-items: center;
font-size: 15px;
height: 30px;
// background-color: #077fff;
border-radius: 5px;
margin-left: 10px;
}
} }
.header-title { .header-title {
display: flex; display: flex;
@ -170,48 +132,18 @@ export default {
border: 1px solid #077FFF; border: 1px solid #077FFF;
height: 33px; height: 33px;
&>div { &>div {
// flex: 1; flex: 1;
width: 33%;
padding-left: 24px; padding-left: 24px;
font-size: 14px; font-size: 14px;
font-family: 'Source Han Sans CN-Bold'; font-family: 'Source Han Sans CN-Bold';
font-weight: bold; font-weight: bold;
color: #D3EEF2; color: #D3EEF2;
} }
.header-title-left {
flex: 1;
}
.header-title-left-two {
flex: .5;
}
.header-title-center {
flex: 1;
}
.header-title-right {
flex: 1;
}
} }
.left--lists { .left--lists {
// height: 120px; // height: 120px;
overflow-y: scroll; overflow-y: scroll;
} }
.left--lists::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 0;
}
.left--lists::-webkit-scrollbar {
-webkit-appearance: none;
width: 6px;
height: 3px;
}
.left--lists::-webkit-scrollbar-thumb {
cursor: pointer;
border-radius: 5px;
background: rgba(7, 127, 255, 0.5);
transition: color 0.2s ease;
}
.main-lists { .main-lists {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -227,17 +159,6 @@ export default {
line-height: 20px; line-height: 20px;
padding-left: 24px; padding-left: 24px;
} }
.list-isLine {
flex: .5;
font-size: 14px;
font-family: 'Source Han Sans CN-Regular';
font-weight: 400;
color: #D3EEF2;
line-height: 20px;
}
.list-titleTwo {
flex: .5;
}
.list-right { .list-right {
flex: 1; flex: 1;
display: flex; display: flex;

@ -1,13 +1,13 @@
<template> <template>
<div class="right-main" id="rightParent"> <div class="right-main" id="rightParent">
<div class="header-title" :class="id == 4 ? 'myHeader-title':''"> <div class="header-title">
<div>{{ id == 1 ? '网格名称' : id == 2 ? '区域名称' : id == 3 ? "路段名称" : "围栏名称"}}</div> <div>{{ id == 1 ? '网格名称' : id == 2 ? '区域名称' : id == 3 ? "路段名称" : "围栏名称"}}</div>
<div>{{ id == 4 ? '今日已打卡' : '今日事件' }}</div> <div>{{ id == 4 ? '今日已打卡' : '今日事件' }}</div>
<div>{{ id == 4 ? '今日未打卡' : '已处理' }}</div> <div>{{ id == 4 ? '今日未打卡' : '已处理' }}</div>
<div v-if="id != 4">{{ id == 4 ? '' : '' }}</div> <div>{{ id == 4 ? '打卡异常' : '未处理' }}</div>
</div> </div>
<div class="lists-main" id="rightBox" :style="{'height':(height - lists.height - 20) + 'px'}"> <div class="lists-main" id="rightBox" :style="{'height':(height - lists.height - 20) + 'px'}">
<div class="main" v-for="(item,index) in rightArray" :key="index" :class="id == 4 ? 'mymain' : (index+1) % 2 == 0 ? 'main1' : ''"> <div class="main" v-for="(item,index) in rightArray" :key="index" :class="(index+1) % 2 == 0 ? 'main1':''">
<el-tooltip :content="item.properties ? item.properties.NAME : item.name" placement="top" :disabled="tooltipDisabled"> <el-tooltip :content="item.properties ? item.properties.NAME : item.name" placement="top" :disabled="tooltipDisabled">
<div class="main-name" @mouseenter="spanMouseenter($event)" @click="divClick(item)"> <div class="main-name" @mouseenter="spanMouseenter($event)" @click="divClick(item)">
<img src="@/assets/images/location1.png" alt=""> <img src="@/assets/images/location1.png" alt="">
@ -17,14 +17,9 @@
<!-- <div>{{ item.event }}</div> <!-- <div>{{ item.event }}</div>
<div>{{ item.resolved }}</div> <div>{{ item.resolved }}</div>
<div class="unsolved">{{ item.unsolved }}</div> --> <div class="unsolved">{{ item.unsolved }}</div> -->
<div v-if="id == 4">{{ item.ydk || 0 }}</div> <div>50</div>
<!-- 今日事件 --> <div>30</div>
<div v-else>{{ item.total }}</div> <div class="unsolved">20</div>
<div v-if="id == 4">{{ item.wdk || 0 }}</div>
<!-- 已处理 -->
<div v-else>{{ item.handled }}</div>
<!-- 未处理 -->
<div class="unsolved" v-if="id != 4">{{ item.unhandled }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -71,19 +66,11 @@ export default {
} }
}, },
divClick(item){ divClick(item){
if(item.id) { let obj = {
let obj = { id:this.id,
id:this.id, item:item
item:item
}
this.$emit('divClick', obj);
} else {
let obj = {
id:this.id,
item:item.fenceId
}
this.$emit('divClick', obj);
} }
this.$emit('divClick', obj);
} }
}, },
mounted(){ mounted(){
@ -137,30 +124,10 @@ export default {
} }
} }
} }
.myHeader-title {
grid-template-columns: repeat(3, 1fr);
}
.lists-main { .lists-main {
overflow-y: scroll; overflow-y: scroll;
// height: 99px; // height: 99px;
} }
.lists-main::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 0;
}
.lists-main::-webkit-scrollbar {
-webkit-appearance: none;
width: 6px;
height: 3px;
}
.lists-main::-webkit-scrollbar-thumb {
cursor: pointer;
border-radius: 5px;
background: rgba(7, 127, 255, 0.5);
transition: color 0.2s ease;
}
.main { .main {
padding: 0 24px; padding: 0 24px;
// display: flex; // display: flex;
@ -208,9 +175,6 @@ export default {
text-align: center; text-align: center;
} }
} }
.mymain {
grid-template-columns: repeat(3, 33.4%);
}
.main1 { .main1 {
background: rgba(187,220,255,0.16); background: rgba(187,220,255,0.16);
} }

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
<template> <template>
<!-- 选择事件及派发按钮 --> <!-- 选择事件及派发按钮 -->
<dia-log ref="taskDialog" width="30%" :title="title" @close="close"> <dia-log ref="taskDialog" width="30%" :title="title">
<el-form :inline="true" :model="taskForm" class="demo-form-task" ref="formTask" :rules="rules"> <el-form :inline="true" :model="taskForm" class="demo-form-task" ref="formTask" :rules="rules">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
@ -34,18 +34,10 @@
<template slot="label"> <template slot="label">
<div class="new-event-form"> <div class="new-event-form">
<div class="ball"></div> <div class="ball"></div>
<span>事件派发</span> <span>事件名称</span>
</div> </div>
</template> </template>
<div class="select-input"> <el-select v-model="taskForm.task" placeholder="请选择事件">
<el-input
placeholder="请选择事件"
v-model="taskForm.task"
clearable>
</el-input>
<div class="btn" @click="select"></div>
</div>
<!-- <el-select v-model="taskForm.task" placeholder="请选择事件">
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.value"
@ -53,28 +45,7 @@
:value="item.value" :value="item.value"
> >
</el-option> </el-option>
</el-select> --> </el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="openTime">
<template slot="label">
<div class="new-event-form">
<div class="ball"></div>
<span>截至时间</span>
</div>
</template>
<div class="right">
<el-date-picker
v-model="taskForm.openTime"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
>
</el-date-picker>
<img class="data_icon" src="@/assets/images/timeIcon.png" alt="" />
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -87,92 +58,18 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<dia-log ref="eventDialog" width="70%" title="选择事件">
<section>
<el-table
class="exporttable"
v-loading="TabLoading"
element-loading-background="rgba(11, 34, 72, 0.8)"
:data="tableData"
:row-class-name="tableRowClassName"
:header-cell-style="tableHeaderCellStyle"
:row-style="{height: 40 + 'px'}"
:cell-style="{padding:0+'px'}"
style="width: 100%">
<el-table-column
prop="rand_number"
label="事件流水号"
header-align="center"
>
</el-table-column>
<el-table-column
prop="name"
label="事件名称"
:show-overflow-tooltip="true"
header-align="center"
>
</el-table-column>
<el-table-column
prop="type"
header-align="center"
:show-overflow-tooltip="true"
label="事件类型">
</el-table-column>
<el-table-column
prop="address"
header-align="center"
:show-overflow-tooltip="true"
label="事件地址">
</el-table-column>
<el-table-column
prop="open_time"
header-align="center"
label="事件发生时间">
</el-table-column>
<el-table-column
prop="status"
header-align="center"
label="事件状态">
</el-table-column>
<el-table-column
prop=""
header-align="center"
label="操作">
<template slot-scope="scope">
<div class="btns">
<div class="btn" @click="zhipai(scope.row)"></div>
</div>
</template>
</el-table-column>
</el-table>
<div class="myPagination">
<el-pagination
background
@current-change="pageChange"
:page-sizes="[10]"
:current-page="1"
:page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div>
</section>
</dia-log>
</dia-log> </dia-log>
</template> </template>
<script> <script>
import diaLog from "../../components/dialog/index.vue" import diaLog from "../../components/dialog/index.vue"
import { ViewListPage, formEngineSaveData, auditSubmit } from "@/api/bigScreenApi/robot.js" import { ViewListPage, autoSubmit, getBpmOperateVo, distributeSaveData } from "@/api/bigScreenApi/robot.js"
import { getUserByImei } from "@/api/bigScreenApi"
export default { export default {
components:{diaLog}, components:{diaLog},
data() { data() {
return { return {
total:0,
title:"任务派发", title:"任务派发",
taskForm:{ taskForm:{
task:"", task:"",
openTime:"",
}, },
options:[], options:[],
rules:{ rules:{
@ -181,136 +78,43 @@ export default {
] ]
}, },
info:null, info:null,
tableData: [],
TabLoading:false,
query:{
formKey:"event-holder",
isFlow:"true",
},
eventInfo:{},
phonenumber:"",
} }
}, },
mounted() { mounted() {
// this.getViewListPageList(); this.getViewListPageList();
}, },
methods:{ methods:{
open(info){ open(info){
this.info = info; this.info = info;
this.$refs.taskDialog.open(); this.$refs.taskDialog.open();
console.log(info,"info");
getUserByImei({imei: info.imei}).then(res=>{
if(res.code == 200) {
this.phonenumber = res.data[0].phonenumber;
}
})
}, },
getViewListPageList(page){ getViewListPageList(){
this.TabLoading = true; let data = {'queryValue' : [], "myInstanceClassify" : "all"}
let data = {'queryValue' : [{ ViewListPage({viewCode:'event-all-list',pageNo:"1",pageSize:"50"}, data).then(res => {
"colCode": "status", console.log(res,"获取的事件列表");
"queryValue": "0"
}], "myInstanceClassify" : "all", "parameterValue":[], fks: []}
ViewListPage({viewCode:'event-all-list', pageNo: page || 1, pageSize:10}, data).then(res => {
if(res.code == 200) { if(res.code == 200) {
this.total = res.result.total; res.result.records.forEach(item => {
this.tableData = res.result.records; let obj = {};
obj["label"] = item.name;
obj["value"] = item.id;
this.options.push(obj);
})
} }
this.TabLoading = false;
}).catch(err =>{
this.TabLoading = false;
}) })
}, },
tableRowClassName({row, rowIndex}) {
if (rowIndex % 2 == 0) {
return 'warning-row';
} else {
return 'success-row';
}
},
tableHeaderCellStyle(){
return 'font-size: 14px;font-family: "Source Han Sans CN-Regular";font-weight: 400;color: #d3eef2;'
},
zhipai(row){
// console.log("");
this.taskForm.task = row.name
this.eventInfo = row;
this.$refs.eventDialog.Close();
},
//
select(){
this.$refs.eventDialog.open()
this.getViewListPageList();
},
close(){
this.$nextTick(()=>{
this.$refs['formTask'].resetFields();
})
},
// //
cancel(refForm){ cancel(refForm){
this.$refs[refForm].resetFields(); this.$refs[refForm].resetFields();
this.$refs.taskDialog.Close(); this.$refs.dialog5.Close();
}, },
// //
confirm(refForm){ confirm(refForm){
this.$refs[refForm].validate((valid) => { autoSubmit().then(res=>{
if(valid){
let body = {
formData:{
"report-event":{
id: this.eventInfo.id, // id
tasks:{
taskIsdiscard: "0",
taskVoidReason: "",
taskType: "2",
taskRandNumber:this.getCurrentTime(), //
taskDeadline:this.taskForm.openTime, //
taskStatus: "6",
taskName:this.eventInfo.name //
},
status: "1"
}
},
saveParameter:{},
docList:[],
}
formEngineSaveData(this.query,body).then(res=>{
if(res.code == 200) {
auditSubmit({formId:res.result,phone:this.phonenumber,depName:"集团有限公司环卫管理部"}).then(resTwo=>{
if(resTwo.code == 200) {
this.$message({
message: "任务派发成功",
type: "success"
});
this.cancel("formTask")
this.$refs.taskDialog.Close();
}
}).catch(()=>{
})
}
})
}
}) })
}, },
getCurrentTime() {
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = ('0' + (currentDate.getMonth() + 1)).slice(-2);
var day = ('0' + currentDate.getDate()).slice(-2);
var hours = ('0' + currentDate.getHours()).slice(-2);
var minutes = ('0' + currentDate.getMinutes()).slice(-2);
var seconds = ('0' + currentDate.getSeconds()).slice(-2);
var milliseconds = ('00' + currentDate.getMilliseconds()).slice(-3);
return year + month + day + hours + minutes + seconds + milliseconds;
},
//
pageChange(pages) {
// console.log(pages);
this.getViewListPageList(pages);
}
}, },
} }
</script> </script>
@ -343,10 +147,6 @@ export default {
margin-left: 15px; margin-left: 15px;
} }
} }
.el-form-item {
width: 100%;
display: flex;
}
.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before { .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before {
content: ' '; content: ' ';
width: 0px; width: 0px;
@ -373,8 +173,6 @@ export default {
} }
} }
.el-form-item__content { .el-form-item__content {
flex: 1;
padding-right: 20px;
// background-image: url("../../../assets/images/timebg.png"); // background-image: url("../../../assets/images/timebg.png");
.form-div { .form-div {
font-size: 14px; font-size: 14px;
@ -384,7 +182,7 @@ export default {
line-height: 35px; line-height: 35px;
} }
background-size: 100% 100%; background-size: 100% 100%;
// width: 250px; width: 250px;
height: 35px; height: 35px;
.el-input__prefix { .el-input__prefix {
display: none; display: none;
@ -393,57 +191,6 @@ export default {
// background-color: transparent; // background-color: transparent;
// width: 250px; // width: 250px;
// } // }
.select-input,.el-date-editor {
display: flex;
align-items: center;
width: 100%;
.el-input {
background-color: transparent;
background-image: url("../../../assets/images/timebg.png");
background-size: 100% 100%;
// width: 400px;
flex: 1;
height: 35px;
}
.el-input__inner {
background-color: transparent;
border: none;
width: 100%;
height: 35px;
font-size: 14px;
font-family: "Source Han Sans CN-Medium";
font-weight: 500;
color: #e9f4ff;
}
.el-input__inner::placeholder {
/* 在这里添加你想要修改的 placeholder 样式 */
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
-webkit-background-clip: text;
-webkit-text-fill-color: rgba(211, 238, 242, 0.2);
}
.btn {
width: 91px;
height: 35px;
margin-left: 20px;
background: rgba(0, 60, 116, 0.6);
box-shadow: inset 0px 0px 6px 0px #00c2ff;
border-radius: 2px 2px 2px 2px;
opacity: 1;
border: 1px solid rgba(181, 207, 255, 0.5);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
line-height: 20px;
cursor: pointer;
}
}
.el-select { .el-select {
background-color: transparent; background-color: transparent;
background-image: url("../../../assets/images/timebg.png"); background-image: url("../../../assets/images/timebg.png");
@ -500,140 +247,6 @@ export default {
-webkit-text-fill-color: rgba(211, 238, 242, 0.2); -webkit-text-fill-color: rgba(211, 238, 242, 0.2);
} }
} }
.right {
background-image: url("../../../assets/images/timebg.png");
// width: 350px;
width: 100%;
margin-right: 20px;
box-sizing: border-box;
height: 35px;
background-size: 100% 100%;
position: relative;
::v-deep .el-input__prefix {
display: none;
}
.el-date-editor {
background-color: transparent;
// width: 350px;
.el-input__inner {
background-color: transparent;
border: none;
width: 100%;
height: 35px;
font-size: 14px;
font-family: "Source Han Sans CN-Medium";
font-weight: 500;
color: #e9f4ff;
padding: 0px 15px;
}
.el-input__inner::placeholder {
/* 在这里添加你想要修改的 placeholder 样式 */
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
-webkit-background-clip: text;
-webkit-text-fill-color: rgba(211, 238, 242, 0.2);
}
}
.data_icon {
position: absolute;
right: 10px;
top: 8px;
width: 20px;
}
}
}
}
::v-deep section {
padding-right: 25px;
// .exporttable {
// border-color: #003C74;
// }
.el-table {
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
// line-height: 20px;
}
.el-table .warning-row {
background-color: rgba(187,220,255,0.2);
}
.el-table .success-row {
background-color: rgba(216,216,216,0.05);
}
.el-table tbody tr:hover>td {
background-color: rgba(6, 16, 33, 0) !important
}
// .el-table tbody tr {
// pointer-events:none;
// }
.el-table, .el-table__expanded-cell{
background-color: transparent;
}
.el-table td.el-table__cell {
border: none;
}
.el-table th.el-table__cell {
border: none;
}
/* 表格内背景颜色 */
.el-table th,
.el-table tr,
.el-table td {
background-color: transparent;
text-align: center;
height: 40px;
}
.el-table tr {
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
// line-height: 20px;
}
.el-table::before {
left: 0;
bottom: 0;
width: 100%;
height: 0px;
}
.btns {
display: flex;
justify-content: center;
.btn {
width: 91px;
height: 35px;
margin: 0 20px;
background: rgba(0, 60, 116, 0.6);
box-shadow: inset 0px 0px 6px 0px #00c2ff;
border-radius: 2px 2px 2px 2px;
opacity: 1;
border: 1px solid rgba(181, 207, 255, 0.5);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
line-height: 20px;
cursor: pointer;
}
}
.myPagination {
margin-top: 20px;
display: flex;
justify-content: flex-end;
.el-pagination__total,.el-pagination__jump {
font-size: 14px;
font-family: "Source Han Sans CN-Regular";
font-weight: 400;
color: #d3eef2;
}
} }
} }
</style> </style>

@ -3,24 +3,24 @@
<div class="personage-track"> <div class="personage-track">
<div class="track-title"> <div class="track-title">
<div class="titlebg"></div> <div class="titlebg"></div>
<span class="name">{{ person ? personItem.userName : carItem.carName }}</span> <span class="name">{{ person ? personItem.userName : "执法一队1号车" }}</span>
<span>{{ person ? "执法1队队员" : carItem.carCode }}</span> <span>{{ person ? "执法1队队员" : "苏A568974" }}</span>
</div> </div>
<div class="track-content"> <div class="track-content">
<div class="oneList"> <div class="oneList">
<div class="item" :class="person ? 'item-left' : 'car-item'" v-if="person"> <div class="item" :class="person ? 'item-left' : 'car-item'">
<div class="ball"></div> <div class="ball"></div>
<div class="content"> <div class="content">
<!-- {{ person ? "人员编号:" : "车辆编号:"}} --> {{ person ? "人员编号:" : "车辆编号:"
人员编号 }}<span>{{
<!-- <span>{{ person ? personItem.userId : "201128881111100" }}</span> --> person ? personItem.userId : "201128881111100"
<span>{{ personItem.userId }}</span> }}</span>
</div> </div>
</div> </div>
<!-- <div class="item car-item" v-if="!person"> <div class="item car-item" v-if="!person">
<div class="ball"></div> <div class="ball"></div>
<div class="content">驾驶员姓名<span>张三</span></div> <div class="content">驾驶员姓名<span>张三</span></div>
</div> --> </div>
<div class="item"> <div class="item">
<div class="ball"></div> <div class="ball"></div>
<div class="content"> <div class="content">
@ -127,9 +127,6 @@ import ruanjianyuan from "@/utils/mapJson/开发区软件园GJ02.json";
// import "@/utils/lib/leaflet-tilelayer-colorizr.js"; // import "@/utils/lib/leaflet-tilelayer-colorizr.js";
import { getLocInfoByImei } from "@/api/bigScreenApi" import { getLocInfoByImei } from "@/api/bigScreenApi"
import { getCenter } from "@/utils/amap" import { getCenter } from "@/utils/amap"
import {
carTrack,
} from "@/api/bigScreenApi/eventApi.js"
export default { export default {
components: { diaLog }, components: { diaLog },
data() { data() {
@ -137,10 +134,6 @@ export default {
title: "人员行程轨迹", title: "人员行程轨迹",
person: false, person: false,
personItem: null, personItem: null,
carItem: {
carName:"",
carCode:""
},
queryTime: { queryTime: {
fromTime: "", fromTime: "",
toTime: "", toTime: "",
@ -157,6 +150,7 @@ export default {
fillColor: 'rgba(64,175,255,0.4)' // 使16#00B2D5 fillColor: 'rgba(64,175,255,0.4)' // 使16#00B2D5
}, },
jiangninggeo:jiangninggeo, jiangninggeo:jiangninggeo,
globalMap: null, globalMap: null,
track: null, track: null,
mapLayer1: null, mapLayer1: null,
@ -338,14 +332,7 @@ export default {
this.title = "人员行程轨迹"; this.title = "人员行程轨迹";
this.personItem = item; this.personItem = item;
this.person = true; this.person = true;
this.queryTime.fromTime = this.getCurrentTime();
this.queryTime.toTime = this.getCurrentTime(1);
this.query();
} else { } else {
this.carItem = item;
console.log(this.carItem);
this.queryTime.fromTime = this.getCurrentTime();
this.queryTime.toTime = this.getCurrentTime(1);
this.title = "车辆行程轨迹"; this.title = "车辆行程轨迹";
this.person = false; this.person = false;
} }
@ -422,100 +409,43 @@ export default {
this.$modal.msgError("请选择查询的截止时间"); this.$modal.msgError("请选择查询的截止时间");
} else { } else {
this.loading = true; this.loading = true;
if(this.person){ getLocInfoByImei({...this.queryTime,imei:this.personItem.imei}).then(res=>{
getLocInfoByImei({...this.queryTime,imei:this.personItem.imei}).then(res=>{ console.log(res,'行动轨迹');
this.loading = false; this.loading = false;
if(res.code == 200 && res.data.result == '000') { if(res.code == 200 && res.data.result == '000') {
let arr = [] let arr = []
res.data.data.forEach(element => { res.data.data.forEach(element => {
let arrTwo = []; let arrTwo = [];
arrTwo[1] = element.latitude; arrTwo[1] = element.latitude;
arrTwo[0] = element.longitude; arrTwo[0] = element.longitude;
arr.push(arrTwo); arr.push(arrTwo);
}); });
// if(this.track) { // if(this.track) {
// this.globalMap.removeLayer(this.track); // this.globalMap.removeLayer(this.track);
// } // }
if(this.map.getAllOverlays('polyline')) { if(this.map.getAllOverlays('polyline')) {
this.map.remove(this.map.getAllOverlays('polyline')); this.map.remove(this.map.getAllOverlays('polyline'));
}
this.track = new AMap.Polyline({
path: arr,
strokeWeight: 6,
strokeColor: '#F44444',
strokeOpacity: 1,
showDir: true,
})
this.map.add(this.track);
const mapInstance = this.$refs.personMap.$$getInstance();
// setFitView GeoJSON
mapInstance.setFitView(this.track);
// this.track = L.polyline(arr,{
// pane:'mapLayer1',
// // color: '#F894AF'
// color: 'red'
// }).addTo(this.globalMap)
// this.globalMap.fitBounds(this.track.getBounds());
} else if(res.code == 200 && res.data.msg) {
this.$modal.msgError(res.data.msg);
} }
}) this.track = new AMap.Polyline({
} else { path: arr,
carTrack({startTime:this.queryTime.fromTime,endTime:this.queryTime.toTime,deviceIndexCode:"b91155244ea245708ed8258dfcc4509a"}).then(res=>{ strokeColor: '#F44444',
// console.log(res,""); strokeOpacity: 1,
this.loading = false; })
if(res.code == 200) { this.map.add(this.track);
let arr = [] const mapInstance = this.$refs.personMap.$$getInstance();
res.data.records.forEach(element => { // setFitView GeoJSON
let arrTwo = []; mapInstance.setFitView(this.track);
arrTwo[1] = element.latitude; // this.track = L.polyline(arr,{
arrTwo[0] = element.longitude; // pane:'mapLayer1',
arr.push(arrTwo); // // color: '#F894AF'
}); // color: 'red'
// if(this.track) { // }).addTo(this.globalMap)
// this.globalMap.removeLayer(this.track);
// }
if(this.map.getAllOverlays('polyline')) {
this.map.remove(this.map.getAllOverlays('polyline'));
}
this.track = new AMap.Polyline({
path: arr,
strokeColor: '#F44444',
strokeOpacity: 1,
showDir: true,
})
this.map.add(this.track);
const mapInstance = this.$refs.personMap.$$getInstance();
// setFitView GeoJSON
mapInstance.setFitView(this.track);
}
}).catch(err => {
this.loading = false;
})
}
}
},
//
getCurrentTime(id){
//
const now = new Date();
//
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, '0'); // 01
const day = String(now.getDate()).padStart(2, '0'); //
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const seconds = String(now.getSeconds()).padStart(2, '0');
// // this.globalMap.fitBounds(this.track.getBounds());
const formattedDateTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } else if(res.code == 200 && res.data.msg) {
const formattedTime = `${year}-${month}-${day} 00:00:00`; this.$modal.msgError(res.data.msg);
if(id == 1) { }
return formattedDateTime; })
} else {
return formattedTime;
} }
}, },
}, },

@ -16,50 +16,24 @@
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">营业执照名称</div> <div class="item-lable">营业执照</div>
<!-- value-image --> <div class="item-value value-image">
<div class="item-value"> <img :src="myShopInfo ? myShopInfo.businessLicenseUrl : ''" alt="" />
<!-- <img :src="myShopInfo ? myShopInfo.bodyName : ''" alt="" /> -->
{{ myShopInfo ? myShopInfo.bodyName : '' }}
</div> </div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">登记机关</div> <div class="item-lable">经营范围</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.operation : '/' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.operation : '/' }}</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">统一社会信用代码</div> <div class="item-lable">注册资本</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.code : '/' }}</div> <div class="item-value">/</div>
</div>
</div>
<div class="main-cell">
<div class="cell-item">
<div class="item-icon"></div>
<div class="item-lable">负责人姓名</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.bodyPrincipal : '/'}}</div>
</div>
</div>
<div class="main-cell">
<div class="cell-item">
<div class="item-icon"></div>
<div class="item-lable">二维码</div>
<!-- value-image -->
<div class="item-value value-image" v-if="myShopInfo.baseImg">
<img :src="myShopInfo ? myShopInfo.baseImg : ''" alt="" />
</div>
</div>
</div>
<div class="main-cell">
<div class="cell-item">
<div class="item-icon"></div>
<div class="item-lable">经营范围</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.manageScope : '/'}}</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
@ -69,51 +43,44 @@
<div class="item-value">{{ myShopInfo ? myShopInfo.permissionProject : '/'}}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.permissionProject : '/'}}</div>
</div> </div>
</div> </div>
<div class="main-cell">
<div class="cell-item">
<div class="item-icon"></div>
<div class="item-lable">门前三包等级</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.sbLevel == 3 ? "红牌" : myShopInfo.sbLevel == 4 ? "黄牌" : myShopInfo.sbLevel == 5 ? "绿牌" : "" : '/'}}</div>
</div>
</div>
</div> </div>
<div class="cell-right"> <div class="cell-right">
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">经营业态</div> <div class="item-lable">食品生产经营主体类别</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.operation : '/' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.operation : '/' }}</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">路段</div> <div class="item-lable">法定代表人</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.road : '' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.bodyPrincipal : '' }}</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">营业执照领取时间</div> <div class="item-lable">有效期至</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.businessLicenseTime : '' }}</div> <div class="item-value">2025-02-01</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">具体地址</div> <div class="item-lable">企业地址</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.bodyAddress : '' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.bodyAddress : '' }}</div>
</div> </div>
</div> </div>
<div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">负责人手机号</div> <div class="item-lable">统一社会信用代码</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.phoneOne : '' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.code : '' }}</div>
</div> </div>
</div> </div>
<!-- <div class="main-cell"> <div class="main-cell">
<div class="cell-item"> <div class="cell-item">
<div class="item-icon"></div> <div class="item-icon"></div>
<div class="item-lable">登记地址 </div> <div class="item-lable">登记地址 </div>
@ -133,7 +100,7 @@
<div class="item-lable">成立日期</div> <div class="item-lable">成立日期</div>
<div class="item-value">{{ myShopInfo ? myShopInfo.businessLicenseTime : '/' }}</div> <div class="item-value">{{ myShopInfo ? myShopInfo.businessLicenseTime : '/' }}</div>
</div> </div>
</div> --> </div>
</div> </div>
</div> </div>
</div> </div>
@ -157,7 +124,7 @@ export default {
watch:{ watch:{
shopInfo:{ shopInfo:{
handler(newInfo){ handler(newInfo){
// console.log(newInfo,""); console.log(newInfo,"获取的商店消息");
if(newInfo) { if(newInfo) {
this.myShopInfo = newInfo; this.myShopInfo = newInfo;
} }
@ -187,7 +154,7 @@ export default {
.tab-main { .tab-main {
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;
// align-items: center; align-items: center;
& > div { & > div {
flex: 1; flex: 1;
} }
@ -199,7 +166,7 @@ export default {
.cell-item { .cell-item {
flex: 1; flex: 1;
display: flex; display: flex;
// align-items: flex-start; align-items: flex-start;
margin-bottom: 20px; margin-bottom: 20px;
.item-icon { .item-icon {
height: 30px; height: 30px;
@ -223,13 +190,12 @@ export default {
color: #e9f4ff; color: #e9f4ff;
} }
.value-image { .value-image {
width: 150px; width: 243px;
height: 150px; height: 163px;
img { img {
display: block; display: block;
height: 100%; height: 100%;
// width: 100%; width: 100%;
width: 150px;
} }
} }
} }

@ -36,7 +36,7 @@
<div class="itemtwo"> <div class="itemtwo">
<div class="left"> <div class="left">
<div class="ball"></div> <div class="ball"></div>
<div class="content">查日期</div> <div class="content">查日期</div>
</div> </div>
<div class="right"> <div class="right">
<el-date-picker <el-date-picker
@ -68,13 +68,20 @@
<span>是否发起整改工单</span> <span>是否发起整改工单</span>
</div> </div>
<div class="tb-list"> <div class="tb-list">
<div v-for="(item, ind) in tableData" :key="ind"> <div v-for="(item, ind) in 10" :key="ind">
<div class="tb-content"> <div class="tb-content">
<span>{{item.name}}</span> <span>张天</span>
<span>{{item.grid}}</span> <span>网格1</span>
<span>{{item.time}}</span> <span>2023-09-12</span>
<span>{{item.hidden}}</span> <span></span>
<span>{{item.order}}</span> <span></span>
</div>
<div class="tb-content_">
<span>张天</span>
<span>网格1</span>
<span>2023-09-12</span>
<span></span>
<span></span>
</div> </div>
</div> </div>
</div> </div>
@ -111,39 +118,6 @@ export default {
label: "网格5", label: "网格5",
}, },
], ],
tableData:[
{
name: "王明光",
grid: "一中队一号网格",
time: "2024-01-12",
hidden: "否",
order: "否"
},{
name: "王龙",
grid: "一中队一号网格",
time: "2024-01-12",
hidden: "否",
order: "否"
},{
name: "鲁建国",
grid: "一中队一号网格",
time: "2024-01-12",
hidden: "否",
order: "否"
},{
name: "孔祥龙",
grid: "一中队一号网格",
time: "2024-01-12",
hidden: "否",
order: "否"
},{
name: "顾国庆",
grid: "一中队一号网格",
time: "2024-01-12",
hidden: "否",
order: "否"
},
],
}; };
}, },
}; };

@ -36,7 +36,7 @@
<div class="itemtwo"> <div class="itemtwo">
<div class="left"> <div class="left">
<div class="ball"></div> <div class="ball"></div>
<div class="content">整改期限</div> <div class="content">排查日期</div>
</div> </div>
<div class="right"> <div class="right">
<el-date-picker <el-date-picker
@ -63,21 +63,23 @@
<div class="tb-header"> <div class="tb-header">
<span>整改工单编号</span> <span>整改工单编号</span>
<span>整改期限</span> <span>整改期限</span>
<span>发起人</span>
<span>发起时间</span>
<span>是否整改完成</span> <span>是否整改完成</span>
<span>是否通过复查</span> <span>是否通过复查</span>
</div> </div>
<div class="tb-list"> <div class="tb-list">
<div v-for="(item, ind) in tableData" :key="ind"> <div v-for="(item, ind) in 10" :key="ind">
<div class="tb-content"> <div class="tb-content">
<span>{{ item.id }}</span> <span>202309120001</span>
<span>{{ item.qixian }}</span> <span>2023-09-12</span>
<span>{{ item.time }}</span> <span></span>
<span>{{ item.hidden }}</span> <span></span>
<span>{{ item.order }}</span> </div>
<span>{{ item.fucha }}</span> <div class="tb-content_">
<span>202309120001</span>
<span>2023-09-12</span>
<span></span>
<span></span>
</div> </div>
</div> </div>
</div> </div>
@ -114,33 +116,6 @@ export default {
label: "网格5", label: "网格5",
}, },
], ],
tableData:[
{
id:"202401120925154",
name: "王明光",
qixian: "2024-01-20",
time: "2024-01-12",
hidden: "否",
order: "否",
fucha: "否"
},{
id:"202401221025154",
name: "王龙",
time: "2024-01-22",
qixian: "2024-02-05",
hidden: "否",
order: "否",
fucha: "否"
},{
id:"202401181125154",
name: "鲁建国",
time: "2024-01-18",
qixian: "2024-02-01",
hidden: "否",
order: "否",
fucha: "否"
}
],
}; };
}, },
}; };

@ -19,7 +19,7 @@
<div class="itemtwo"> <div class="itemtwo">
<div class="left"> <div class="left">
<div class="ball"></div> <div class="ball"></div>
<div class="content">告警时间</div> <div class="content">排查日期</div>
</div> </div>
<div class="right"> <div class="right">
<el-date-picker <el-date-picker
@ -48,11 +48,16 @@
</div> </div>
<div class="tb-list"> <div class="tb-list">
<div v-for="(item, ind) in tableData" :key="ind"> <div v-for="(item, ind) in 10" :key="ind">
<div class="tb-content"> <div class="tb-content">
<span>{{ item.id }}</span> <span>202309120001</span>
<span>{{ item.qixian }}</span> <span>2023-09-12</span>
<span>{{ item.gaojing }}</span> <span>2023-09-13</span>
</div>
<div class="tb-content_">
<span>202309120001</span>
<span>2023-09-12</span>
<span>2023-09-13</span>
</div> </div>
</div> </div>
</div> </div>
@ -89,17 +94,6 @@ export default {
label: "网格5", label: "网格5",
}, },
], ],
tableData:[
{
id:"202401120925154",
qixian: "2024-01-20",
gaojing: "2024-01-15",
},{
id:"202401221025154",
gaojing: "2024-01-30",
qixian: "2024-02-05",
}
],
}; };
}, },
}; };

@ -53,11 +53,7 @@ export default {
}, },
open(info) { open(info) {
this.shopInfo = info; this.shopInfo = info;
if(info.baseImg) { this.$refs.dialog5.open("1");
this.$refs.dialog5.open("10");
} else {
this.$refs.dialog5.open("9");
}
}, },
Close() { Close() {
this.$refs.dialog5.Close(); this.$refs.dialog5.Close();

@ -4,15 +4,15 @@
* @Author: JC9527 * @Author: JC9527
* @Date: 2023-08-15 09:52:05 * @Date: 2023-08-15 09:52:05
* @LastEditors: JC9527 * @LastEditors: JC9527
* @LastEditTime: 2024-03-21 14:55:27 * @LastEditTime: 2023-08-16 13:13:48
--> -->
<template> <template>
<div class="mytitle"> <div class="mytitle">
<div class="title-text" :text="title"> <div class="title-text">
{{ title }} {{ title }}
</div> </div>
<!-- <div class="title-num" v-show="id == 1" @click="unfold"> <!-- <div class="title-num" v-show="numShow > 0">
展开 {{ numShow }} <span></span>
</div> --> </div> -->
</div> </div>
</template> </template>
@ -24,15 +24,10 @@ export default {
type: String, type: String,
default: '默认标题' default: '默认标题'
}, },
id: { // numShow: {
type: Number, // type: Number,
default: 0 // default: 0
} // }
},
methods:{
unfold(){
this.$emit("unfold")
}
} }
} }
</script> </script>
@ -47,43 +42,27 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center;
.title-text { .title-text {
font-size: vw(20); font-size: vw(22);
letter-spacing: vw(2); letter-spacing: vw(2);
font-family: 'Source Han Sans CN--Bold'; font-family: 'YouSheBiaoTiHei';
font-weight: 400; font-weight: 400;
color: #e9eff5; color: #e9eff5;
text-align: left; text-align: left;
padding-left: vw(30); padding-left: vw(30);
&::before {
content: attr(text);
position: absolute;
z-index: 10;
color: #ffffff;
//
background: linear-gradient(180deg, #ffffff 0%, #43B4C5 100%);
-webkit-background-clip: text;
color: transparent;
//
text-shadow: none;
}
} }
.title-num { .title-num {
font-size: 14px; margin-right: vw(15);
display: flex; font-size: vw(20);
align-items: center; font-family: 'DIN';
padding: 0px 20px; font-weight: bold;
// color: #52B1FF; color: #32fcc5;
color: #fff; & span {
border: 1px solid #52B1FF; font-size: vw(14);
cursor: pointer; font-family: 'Regular';
display: flex; font-weight: 400;
align-items: center; color: #c7cddb;
font-size: 15px; }
height: 35px;
background-color: #077fff;
border-radius: 5px;
} }
} }
</style> </style>

@ -1,3 +1,11 @@
<!--
* @Descripttion:
* @version:
* @Author: JC9527
* @Date: 2023-12-26 13:59:07
* @LastEditors: JC9527
* @LastEditTime: 2023-12-28 14:46:59
-->
<template> <template>
<dia-log ref="dialog4" width="45%" title="实时监控" @close="Close"> <dia-log ref="dialog4" width="45%" title="实时监控" @close="Close">
<div class="video-main"> <div class="video-main">
@ -63,6 +71,7 @@ export default {
}, },
destroyed() { destroyed() {
if(this.videoPlayer){ if(this.videoPlayer){
console.log("1111111111111111111111");
this.videoPlayer.dispose(); this.videoPlayer.dispose();
} }
} }

Loading…
Cancel
Save