| | |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>affairs.ico"> |
| | | <title> |
| | | 信州公安警务作战一体化平台 |
| | | 经开区公安警务作战一体化平台 |
| | | </title> |
| | | |
| | | <script src="./static/config.js"></script> |
| | |
| | | // VUE_APP_OUTER_NET: 'http://192.168.0.112:18080', |
| | | VUE_APP_OUTER_NET: 'https://tuan-gis.sit.fengtu.com.cn', |
| | | // 内网部署 |
| | | VUE_APP_INTRANET: 'http://10.141.11.11:80/twapi', |
| | | VUE_APP_INTRANET: 'http://47.212.32.93:9004/ga', |
| | | |
| | | // 大搜 |
| | | // 本地开发 |
| | | VUE_APP_OUTER_NET_SEARCH: 'http://192.168.1.3:8081', |
| | | VUE_APP_OUTER_NET_SEARCH: 'http://47.212.32.93:9004/ga', |
| | | // VUE_APP_OUTER_NET_SEARCH: 'https://s16s652780.51mypc.cn', |
| | | |
| | | // 内网部署 |
| | | VUE_APP_INTRANET_SEARCH: 'http://10.141.11.11:80/bsapi', |
| | | VUE_APP_INTRANET_SEARCH: 'http://47.212.32.93:9004/ga', |
| | | |
| | | // 视频监控平台 |
| | | // 本地开发 |
| | | VUE_APP_OUTER_NET_VIDEO: 'http://192.168.1.50:18185/api', |
| | | // VUE_APP_OUTER_NET_VIDEO: 'http://192.168.0.129:18185/api', |
| | | // 内网部署 |
| | | VUE_APP_INTRANET_VIDEO: 'http://10.141.11.11:18185/api', |
| | | VUE_APP_INTRANET_VIDEO: 'http://47.217.32.231:18185/api', |
| | | |
| | | // 设备通道号 |
| | | VUE_APP_OUTER_NET_EQUIPMENT: '36110000002009999000', |
| | |
| | | |
| | | // 模型地址 |
| | | VUE_APP_OUTER_NET_TILEURL: 'http://192.168.0.112:18080', |
| | | VUE_APP_INTRANET_TILEURL: 'http://10.141.11.11:80/mxapi', |
| | | VUE_APP_INTRANET_TILEURL: 'http://47.217.32.232:80/mxapi', |
| | | |
| | | // 后台管理跳转地址 |
| | | VUE_APP_OUTER_NET_HTURL: 'http://192.168.0.126:1888/#/', |
| | | VUE_APP_INTRANET_HTURL: 'http://10.141.11.11:8081/#/', |
| | | VUE_APP_INTRANET_HTURL: 'http://47.217.32.232:8081/#/', |
| | | |
| | | // 栅格地图的 |
| | | // VUE_APP_MAP_YX: 'http://10.141.11.11:80/ysapi', |
| | | VUE_APP_MAP_YX: 'http://10.141.11.11:80/gj', |
| | | VUE_APP_MAP_SL: 'http://10.141.11.11:80/slapi', |
| | | VUE_APP_MAP_DX: 'http://10.141.11.11:80/DEM', |
| | | // VUE_APP_MAP_YX: 'http://47.217.32.232:80/ysapi', |
| | | // VUE_APP_MAP_YX: 'http://47.212.32.93:9004/ga', |
| | | VUE_APP_MAP_YX: 'http://47.212.32.93:9004/ga', |
| | | VUE_APP_MAP_SL: 'http://47.212.32.93:9004/ga', |
| | | VUE_APP_MAP_DX: 'http://47.217.32.232:80/DEM', |
| | | } |
| | |
| | | * @returns |
| | | */ |
| | | export const getPoliceStationList = () => { |
| | | return request({ |
| | | url: '/api/blade-system/dept/getAllPoliceStation', |
| | | method: 'get', |
| | | }) |
| | | return request({ |
| | | url: '/api/blade-system/dept/getAllPoliceStation', |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns |
| | | */ |
| | | export const getResidentialQuartersList = (adcode) => { |
| | | return request({ |
| | | url: '/sf3d/area/list', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | adcode |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/sf3d/area/list', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | adcode, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns |
| | | */ |
| | | export const getResidentialQuartersInfo = (area_id, adcode) => { |
| | | return request({ |
| | | url: '/sf3d/area/info', |
| | | // url: '/data/getResidentialQuartersInfo.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | area_id, |
| | | adcode |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/sf3d/area/info', |
| | | // url: '/data/getResidentialQuartersInfo.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | area_id, |
| | | adcode, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | * @returns |
| | | */ |
| | | export const getAoiByPt = (lng, lat, height, adcode, tolerance) => { |
| | | return request({ |
| | | // url: '/sf3d/area/getAoiByPt', |
| | | url: '/sf3d/area/stdgetAoiByPt', |
| | | // url: '/data/getAoiByBgId.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | lng, |
| | | lat, |
| | | height, |
| | | adcode, |
| | | tolerance |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/sf3d/area/getAoiByPt', |
| | | // url: '/sf3d/area/stdgetAoiByPt', |
| | | // url: '/data/getAoiByBgId.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | lng, |
| | | lat, |
| | | height, |
| | | adcode, |
| | | tolerance, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns |
| | | */ |
| | | export const getUnitbuild = (area_id, adcode) => { |
| | | return request({ |
| | | url: '/sf3d/area/unitbuild', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | area_id, |
| | | adcode |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/sf3d/area/unitbuild', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | area_id, |
| | | adcode, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns |
| | | */ |
| | | export const getHouses = (build_id, adcode) => { |
| | | return request({ |
| | | // url: '/sf3d/build/houses', |
| | | url: '/sf3d/build/stdhouses', |
| | | // url: '/data/huafu15d.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | build_id, |
| | | adcode |
| | | } |
| | | }) |
| | | return request({ |
| | | // url: '/sf3d/build/houses', |
| | | url: '/sf3d/build/stdhouses', |
| | | // url: '/data/huafu15d.json', |
| | | method: 'get', |
| | | authorization: false, |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | build_id, |
| | | adcode, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | * @param {*} adcode |
| | | * @returns |
| | | */ |
| | | export const getSearchExtensively = (ak, region, query, ids) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/jingzuo.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | ak, |
| | | region, |
| | | query, |
| | | ids |
| | | } |
| | | }) |
| | | export const getSearchExtensively = (key, region, query, ids) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/jingzuo.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | key, |
| | | region, |
| | | query, |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {*} adcode |
| | | * @returns |
| | | */ |
| | | export const getSearchExtensivelyPage = (ak, region, query,page_num,page_size) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/jingzuo.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | ak, |
| | | region, |
| | | query, |
| | | page_num, |
| | | page_size |
| | | } |
| | | }) |
| | | export const getSearchExtensivelyPage = (key, region, query, page_num, page_size) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/jingzuo.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | key, |
| | | region, |
| | | query, |
| | | page_num, |
| | | page_size |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {*} adcode |
| | | * @returns |
| | | */ |
| | | export const getSearchExtensivelyBgAoiDeepdata = (ak, region, ids, infos) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/汇成观邸.json', |
| | | // url: '/data/search.json', |
| | | // url: '/data/阳光小区独栋.json', |
| | | // url: '/data/search汇杰小区.json', |
| | | // url: '/data/汪家园林家小区id详情搜.json', |
| | | // url: '/data/search三江星座.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | ak, |
| | | region, |
| | | ids, |
| | | infos, |
| | | } |
| | | }) |
| | | export const getSearchExtensivelyBgAoiDeepdata = (key, region, ids, infos) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/汇成观邸.json', |
| | | // url: '/data/search.json', |
| | | // url: '/data/阳光小区独栋.json', |
| | | // url: '/data/search汇杰小区.json', |
| | | // url: '/data/汪家园林家小区id详情搜.json', |
| | | // url: '/data/search三江星座.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | key, |
| | | region, |
| | | ids, |
| | | infos, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {*} adcode |
| | | * @returns |
| | | */ |
| | | export const getSearchExtensivelyHousesdata = (ak, region, ids, infos) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/汇成观邸-户室.json', |
| | | // url: '/data/阳光小区独栋.json', |
| | | // url: '/data/search汇杰小区1栋.json', |
| | | // url: '/data/汪家园林家小区2号id详情搜.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | ak, |
| | | region, |
| | | ids, |
| | | infos, |
| | | } |
| | | }) |
| | | export const getSearchExtensivelyHousesdata = (key, region, ids, infos) => { |
| | | return request({ |
| | | url: '/zhs/bs/search', |
| | | // url: '/data/汇成观邸-户室.json', |
| | | // url: '/data/阳光小区独栋.json', |
| | | // url: '/data/search汇杰小区1栋.json', |
| | | // url: '/data/汪家园林家小区2号id详情搜.json', |
| | | method: 'get', |
| | | requestBaseUrl: 'fengtDS', |
| | | params: { |
| | | key, |
| | | region, |
| | | ids, |
| | | infos, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 小区树形数据 |
| | | export const getPoliceStationLazyTree = (type, id) => { |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getPoliceStationLazyTree`, |
| | | method: 'get', |
| | | params: { |
| | | type, |
| | | id |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getPoliceStationLazyTree`, |
| | | method: 'get', |
| | | params: { |
| | | type, |
| | | id |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 小区树形数据 |
| | | export const getPoliceStationTrees = (params) => { |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTrees`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTrees`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 转id |
| | | export const getAoiByBgId = (bg_id) => { |
| | | return request({ |
| | | url: `/sf3d/area/getAoiByBgId`, |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | bg_id, |
| | | adcode: 361102, |
| | | type: 0 |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/sf3d/area/getAoiByBgId`, |
| | | method: 'get', |
| | | requestBaseUrl: 'fengt', |
| | | params: { |
| | | bg_id, |
| | | adcode: 361101, |
| | | type: 0, |
| | | key: 'c35cece8432f424aad58276a7e0d24eb' |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 包干民警所属辖区 |
| | | export const getVillageInfo = (aoiId) => { |
| | | return request({ |
| | | url: `/api/villageInfo/villageInfo/details`, |
| | | method: 'get', |
| | | params: { |
| | | aoiId |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villageInfo/villageInfo/details`, |
| | | method: 'get', |
| | | params: { |
| | | aoiId |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 派出所默认展示小区 |
| | | export const getPoliceSationVillageInfo = (param) => { |
| | | return request({ |
| | | url: `/api/villageInfo/villageInfo/details`, |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | return request({ |
| | | url: `/api/villageInfo/villageInfo/details`, |
| | | method: 'get', |
| | | params: param |
| | | }) |
| | | } |
| | | |
| | | // 户籍人口、重点人口信息 buildId/aoiId |
| | | export const getVillagePersonStatisticInfoByBuildId = (params) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByBuildId`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByBuildId`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 查询户室关联情况 |
| | | export const getPersonConnectionConditionByBuildingId = (params) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getPersonConnectionConditionByBuildingId`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getPersonConnectionConditionByBuildingId`, |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 户籍人口、重点人口信息 |
| | | export const getVillagePersonInfo = (resBusId, buildId, status, current, realName, phone) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/page`, |
| | | method: 'get', |
| | | params: { |
| | | resBusId, |
| | | buildId, |
| | | ...status, |
| | | current, |
| | | realName, |
| | | phone |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/page`, |
| | | method: 'get', |
| | | params: { |
| | | resBusId, |
| | | buildId, |
| | | ...status, |
| | | current, |
| | | realName, |
| | | phone |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 户籍人口、重点人口信息-----智能搜索 |
| | | export const getVillagePersonInfoBySearch = (params) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | // 户籍人口、重点人口信息 |
| | | export const getPicURL = (resBusId) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getPicURL`, |
| | | method: 'get', |
| | | params: { |
| | | resBusId, |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getPicURL`, |
| | | method: 'get', |
| | | params: { |
| | | resBusId, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取各个派出所的人口数量,以及人口总数和重点人员数量 |
| | | export const getVillagePersonStatisticInfo = () => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfo`, |
| | | method: 'get', |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfo`, |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getPersonInfo = (params) => { |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/keyPersonnelCount', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/keyPersonnelCount', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getPersonInfoPage = (params) => { |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取对应id下的派出所的责任区人口 |
| | | export const getVillagePersonStatisticInfoByPoliceStationId = (id, name) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByPoliceStationId`, |
| | | method: 'get', |
| | | params: { |
| | | id, |
| | | name |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByPoliceStationId`, |
| | | method: 'get', |
| | | params: { |
| | | id, |
| | | name |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取现有房屋 |
| | | export const getHouseStatisticInfo = (deptId, isFollow) => { |
| | | return request({ |
| | | url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`, |
| | | method: 'get', |
| | | params: { |
| | | deptId, |
| | | isFollow |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`, |
| | | method: 'get', |
| | | params: { |
| | | deptId, |
| | | isFollow |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getAreaPage = (current, areaId, policeName, phone, size) => { |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getAreaPage`, |
| | | method: 'get', |
| | | params: { |
| | | current, |
| | | areaId, |
| | | policeName, |
| | | phone, |
| | | size |
| | | } |
| | | }) |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getAreaPage`, |
| | | method: 'get', |
| | | params: { |
| | | current, |
| | | areaId, |
| | | policeName, |
| | | phone, |
| | | size |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getHotelList = (params) => { |
| | | return request({ |
| | | url: `/api/hotel/hotel/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | return request({ |
| | | url: `/api/hotel/hotel/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getBusinessList = (params) => { |
| | | return request({ |
| | | url: `/api/blade-place/place/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | return request({ |
| | | url: `/api/blade-place/place/page`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return {*} |
| | | */ |
| | | export const getBusinessDetail = (params) => { |
| | | return request({ |
| | | url: `/api/blade-place/place/getDetail`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | return request({ |
| | | url: `/api/blade-place/place/getDetail`, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | |
| | | <div class="title">模型</div> |
| | | <div class="content"> |
| | | <div class="img light" @click.stop="highOrLightChange('light')"> |
| | | <span :class="{ on: tilesetLayerType == 'light' }">轻量</span> |
| | | <span :class="{ on: tilesetLayerType == 'light' }">白膜</span> |
| | | </div> |
| | | <div class="elec high" @click.stop="highOrLightChange('high')"> |
| | | <!-- <div class="elec high" @click.stop="highOrLightChange('high')"> |
| | | <span :class="{ on: tilesetLayerType == 'high' }">高精</span> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | <div class="angle-btn"> |
| | |
| | | |
| | | baseLayers = [] |
| | | |
| | | // const layer = global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | // url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/{z}/{x}/{reverseY}.png`, |
| | | // minimumLevel: 0, |
| | | // maximumLevel: 25, |
| | | // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | // }) |
| | | // ) |
| | | |
| | | // layer.contrast = 0.8 |
| | | |
| | | // baseLayers.push(layer) |
| | | |
| | | const qp = global.viewer.imageryLayers.addImageryProvider( |
| | | const layer = global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: `/qp/{AZ}/{y}/{x}.png`, |
| | | customTags: { |
| | | AZ (imageryProvider, x, y, level) { |
| | | return "Z" + level |
| | | }, |
| | | }, |
| | | minimumLevel: 0, |
| | | maximumLevel: 25, |
| | | url: `http://47.212.32.93:9004/ga/service/map/satellite?z={z}&y={y}&x={x}&key=81503dad589f42bf9a9e5ea5e017f329`, |
| | | tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | minimumLevel: 0, // 最小层级 |
| | | maximumLevel: 25, // 最大层级 |
| | | }) |
| | | ) |
| | | |
| | | qp.contrast = 0.8 |
| | | layer.contrast = 0.8 |
| | | |
| | | baseLayers.push(qp) |
| | | |
| | | window.YX_LAYER_CONFIG.forEach((item) => { |
| | | let rectangle = {} |
| | | |
| | | if ( |
| | | item.west != 0 && |
| | | item.south != 0 && |
| | | item.east != 0 && |
| | | item.north != 0 |
| | | ) { |
| | | rectangle = { |
| | | rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees( |
| | | Number(item.west), |
| | | Number(item.south), |
| | | Number(item.east), |
| | | Number(item.north) |
| | | ), |
| | | } |
| | | } else { |
| | | return |
| | | } |
| | | |
| | | const layer = global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/${item.name}/{AZ}/{y}/{x}.png`, |
| | | customTags: { |
| | | AZ (imageryProvider, x, y, level) { |
| | | return "Z" + level |
| | | }, |
| | | }, |
| | | minimumLevel: 0, |
| | | maximumLevel: 25, |
| | | ...rectangle, |
| | | }) |
| | | ) |
| | | |
| | | layer.contrast = 0.8 |
| | | |
| | | baseLayers.push(layer) |
| | | }) |
| | | |
| | | if (window.ADD_NEW_YX_LAYER_CONFIG.length > 0) { |
| | | window.ADD_NEW_YX_LAYER_CONFIG.forEach((item) => { |
| | | const layer = global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/addlayer/${item.name}/{AZ}/{y}/{x}.png`, |
| | | customTags: { |
| | | AZ (imageryProvider, x, y, level) { |
| | | return "Z" + level |
| | | }, |
| | | }, |
| | | minimumLevel: 0, |
| | | maximumLevel: 25, |
| | | }) |
| | | ) |
| | | |
| | | layer.contrast = 0.8 |
| | | |
| | | baseLayers.push(layer) |
| | | }) |
| | | } |
| | | |
| | | // baseLayers = global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | // url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/geoserver/gwc/service/wmts`, |
| | | // layer: "test", |
| | | // style: "", |
| | | // format: "image/png", |
| | | // tileMatrixSetID: "EPSG:4490_test", |
| | | // tileMatrixLabels: ysLabels, |
| | | // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | // }) |
| | | // ) |
| | | baseLayers.push(layer) |
| | | }, |
| | | |
| | | switchElec () { |
| | |
| | | baseLayers.push( |
| | | global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_SL}/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326`, |
| | | layer: "wmts_4326_361100", |
| | | style: "default", |
| | | format: "image/png", |
| | | tileMatrixSetID: "c", |
| | | url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_SL}/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326&key=81503dad589f42bf9a9e5ea5e017f329&VERSION=1.0.0&REQUEST=GetTile`, |
| | | layer: 'wmts_4326_361100', |
| | | style: 'default', |
| | | format: 'image/png', |
| | | tileMatrixSetID: 'c', |
| | | tileMatrixLabels: new Array(20).fill(0).map((v, i) => i + 1), |
| | | tilingScheme: |
| | | new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | }) |
| | | ) |
| | | ) |
| | |
| | | }, |
| | | searchExtensivelyClick () { |
| | | this.getSearchExtensively( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | this.searchExtensivelyValue |
| | | ) |
| | |
| | | searchExtensivelyFocus () { |
| | | this.searchExtensivelyValBoxShow = true |
| | | this.getSearchExtensively( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | this.searchExtensivelyValue |
| | | ) |
| | |
| | | } |
| | | this.isShowClearBtn = true |
| | | this.getSearchExtensively( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | this.searchExtensivelyValue |
| | | ) |
| | |
| | | * Copyright (c) 2023 by shuishen 1109946754@qq.com, All Rights Reserved. |
| | | --> |
| | | <template> |
| | | <div class="container"> |
| | | <div class="box"> |
| | | <div class="header"> |
| | | <div class="bottom-title">警情动态</div> |
| | | <div class="timeTab" v-show="historytype"> |
| | | <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 2 }" @click="timeTabClick(2)">自定义</span> |
| | | </div> |
| | | |
| | | <div class="timeSeclect" v-show="historytype"> |
| | | <div v-show="timetype == 0"> |
| | | <el-date-picker size="small" v-model="currentWeekTime" @change="datePickerChange" type="week" |
| | | align="center" format="yyyy 第 WW 周" placeholder="选择周" |
| | | popper-class="date-week-style"></el-date-picker> |
| | | </div> |
| | | <div v-show="timetype == 1"> |
| | | <el-date-picker size="small" v-model="currentMonthTime" @change="datePickerChange" type="month" |
| | | align="center" placeholder="选择月" popper-class="date-mouth-style"></el-date-picker> |
| | | </div> |
| | | <div v-show="timetype == 2"> |
| | | <el-date-picker size="small" :clearable="false" v-model="currentTime" type="daterange" |
| | | align="center" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | @change="datePickerChange" :picker-options="pickerOptions" |
| | | popper-class="date-day-style"></el-date-picker> |
| | | </div> |
| | | <div> |
| | | <el-select style="flex: 1;" size="small" v-model="policeInforValue" @change="policeTypeChange" |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in policeInforOptions" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="history-tab"> |
| | | <span class="beforetime" :class="{ choosed: historytype == 0 }" @click="historyTabClick(0)">实时</span> |
| | | <span class="beforetime" :class="{ choosed: historytype == 1 }" @click="historyTabClick(1)">历史</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="body" v-if="historytype == 0" ref="tableBox"> |
| | | <ul class="title-header"> |
| | | <li> |
| | | <span class="num">序号</span> |
| | | <span class="receiving-alarm-unit">接警单位</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="call-police-content">报警内容</span> |
| | | <span class="incident-site">事发地址</span> |
| | | <span class="call-police-type">报警类型</span> |
| | | <span class="have-position">坐标</span> |
| | | <span class="alarm-bz">备注</span> |
| | | </li> |
| | | </ul> |
| | | |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> --> |
| | | <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" |
| | | :class-option="classOption"> |
| | | <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm"> |
| | | <el-carousel-item v-for="item in alarmPageCount" :key="item"> |
| | | <ul class="item"> |
| | | <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" class="row" |
| | | @click.stop="handleSelectClick(item)"> |
| | | <span class="num" v-text="item.index"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-time" v-text="item.BJSJ"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | | <span class="incident-site" :title="item.SFDZ" v-text="item.SFDZ"></span> |
| | | <span class="call-police-type" v-text="item.BJLX"></span> |
| | | <span class="have-position"> |
| | | <i v-show="item.position == '有'" class="el-icon-location" style="color: #1AFA29;" |
| | | @click.stop="policeSituationClick(item)"></i> |
| | | </span> |
| | | <span class="alarm-bz" v-text="item.MEMO"></span> |
| | | </li> |
| | | </ul> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | |
| | | <!-- </vue-seamless-scroll> --> |
| | | |
| | | <div class="warp no-data" v-else>暂无警情数据</div> |
| | | </div> |
| | | |
| | | <div class="current-table-body" ref="ElTableBox" v-if="historytype == 1"> |
| | | <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%" |
| | | :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="handleSelectClick"> |
| | | <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" width="60"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位"></el-table-column> |
| | | <el-table-column prop="BJSJ" label="报警时间"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="jqlxName" label="报警类型"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-show="scope.row.position == '有'" @click.stop="policeSituationClick(scope.row)" |
| | | type="text" size="small" title="定位"> |
| | | <i class="el-icon-location" style="color: #1AFA29;"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages all-pagination-sty" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | <div class="container"> |
| | | <div class="box"> |
| | | <div class="header"> |
| | | <div class="bottom-title">警情动态</div> |
| | | <div class="timeTab" v-show="historytype"> |
| | | <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 2 }" @click="timeTabClick(2)">自定义</span> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <defs> |
| | | <path id="bottom-box-path" |
| | | d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | fill="transparent" /> |
| | | <radialGradient id="border-box-gradient" cx="50%" cy="50%" r="50%"> |
| | | <stop offset="0%" stop-color="#fff" stop-opacity="1" /> |
| | | <stop offset="100%" stop-color="#fff" stop-opacity="0" /> |
| | | </radialGradient> |
| | | <mask id="border-box-mask"> |
| | | <circle cx="0" cy="0" r="150" fill="url(#border-box-gradient)"> |
| | | <animateMotion dur="8s" |
| | | path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | | </defs> |
| | | <div class="timeSeclect" v-show="historytype"> |
| | | <div v-show="timetype == 0"> |
| | | <el-date-picker size="small" v-model="currentWeekTime" @change="datePickerChange" type="week" align="center" |
| | | format="yyyy 第 WW 周" placeholder="选择周" popper-class="date-week-style"></el-date-picker> |
| | | </div> |
| | | <div v-show="timetype == 1"> |
| | | <el-date-picker size="small" v-model="currentMonthTime" @change="datePickerChange" type="month" align="center" |
| | | placeholder="选择月" popper-class="date-mouth-style"></el-date-picker> |
| | | </div> |
| | | <div v-show="timetype == 2"> |
| | | <el-date-picker size="small" :clearable="false" v-model="currentTime" type="daterange" align="center" |
| | | unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="datePickerChange" |
| | | :picker-options="pickerOptions" popper-class="date-day-style"></el-date-picker> |
| | | </div> |
| | | <div> |
| | | <el-select style="flex: 1;" size="small" v-model="policeInforValue" @change="policeTypeChange" |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in policeInforOptions" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | |
| | | <use stroke-width="2" xlink:href="#bottom-box-path" mask="url(#border-box-mask)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 3220" to="3220, 0" dur="8s" repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | <div class="history-tab"> |
| | | <span class="beforetime" :class="{ choosed: historytype == 0 }" @click="historyTabClick(0)">实时</span> |
| | | <span class="beforetime" :class="{ choosed: historytype == 1 }" @click="historyTabClick(1)">历史</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="body" v-if="historytype == 0" ref="tableBox"> |
| | | <ul class="title-header"> |
| | | <li> |
| | | <span class="num">序号</span> |
| | | <span class="receiving-alarm-unit">接警单位</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="call-police-content">报警内容</span> |
| | | <span class="incident-site">事发地址</span> |
| | | <span class="call-police-type">报警类型</span> |
| | | <span class="have-position">坐标</span> |
| | | <span class="alarm-bz">备注</span> |
| | | </li> |
| | | </ul> |
| | | |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> --> |
| | | <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" |
| | | :class-option="classOption"> |
| | | <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm"> |
| | | <el-carousel-item v-for="item in alarmPageCount" :key="item"> |
| | | <ul class="item"> |
| | | <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" class="row" |
| | | @click.stop="handleSelectClick(item)"> |
| | | <span class="num" v-text="item.index"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-time" v-text="item.BJSJ"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | | <span class="incident-site" :title="item.SFDZ" v-text="item.SFDZ"></span> |
| | | <span class="call-police-type" v-text="item.BJLX"></span> |
| | | <span class="have-position"> |
| | | <i v-show="item.position == '有'" class="el-icon-location" style="color: #1AFA29;" |
| | | @click.stop="policeSituationClick(item)"></i> |
| | | </span> |
| | | <span class="alarm-bz" v-text="item.MEMO"></span> |
| | | </li> |
| | | </ul> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | |
| | | <!-- </vue-seamless-scroll> --> |
| | | |
| | | <div class="warp no-data" v-else>暂无警情数据</div> |
| | | </div> |
| | | |
| | | <div class="current-table-body" ref="ElTableBox" v-if="historytype == 1"> |
| | | <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%" :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="handleSelectClick"> |
| | | <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" width="60"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位"></el-table-column> |
| | | <el-table-column prop="BJSJ" label="报警时间"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="jqlxName" label="报警类型"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-show="scope.row.position == '有'" @click.stop="policeSituationClick(scope.row)" type="text" |
| | | size="small" title="定位"> |
| | | <i class="el-icon-location" style="color: #1AFA29;"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages all-pagination-sty" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <defs> |
| | | <path id="bottom-box-path" |
| | | d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | fill="transparent" /> |
| | | <radialGradient id="border-box-gradient" cx="50%" cy="50%" r="50%"> |
| | | <stop offset="0%" stop-color="#fff" stop-opacity="1" /> |
| | | <stop offset="100%" stop-color="#fff" stop-opacity="0" /> |
| | | </radialGradient> |
| | | <mask id="border-box-mask"> |
| | | <circle cx="0" cy="0" r="150" fill="url(#border-box-gradient)"> |
| | | <animateMotion dur="8s" |
| | | path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | | </defs> |
| | | |
| | | <use stroke-width="2" xlink:href="#bottom-box-path" mask="url(#border-box-mask)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 3220" to="3220, 0" dur="8s" repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | import { getAnswerPolices, getAlarmList } from "@/api/home/index.js" |
| | | |
| | | export default { |
| | | inject: ["getWidth", 'userInfo'], |
| | | inject: ["getWidth", 'userInfo'], |
| | | |
| | | data () { |
| | | return { |
| | | alarmPageCount: 1, |
| | | alarmPageSize: 4, |
| | | timetype: 2, |
| | | historytype: 0, |
| | | // 实时 |
| | | policeSituationRealtimeAllArr: [], |
| | | policeSituationRealtimeArr: [], |
| | | // 历史 |
| | | policeSituationHistoryArr: [], |
| | | eventTime: '', |
| | | // 当前选择周时间 |
| | | currentWeekTime: '', |
| | | // 当前选择月时间 |
| | | currentMonthTime: '', |
| | | // 当前选择自定义时间 |
| | | currentTime: [], |
| | | data () { |
| | | return { |
| | | alarmPageCount: 1, |
| | | alarmPageSize: 4, |
| | | timetype: 2, |
| | | historytype: 0, |
| | | // 实时 |
| | | policeSituationRealtimeAllArr: [], |
| | | policeSituationRealtimeArr: [], |
| | | // 历史 |
| | | policeSituationHistoryArr: [], |
| | | eventTime: '', |
| | | // 当前选择周时间 |
| | | currentWeekTime: '', |
| | | // 当前选择月时间 |
| | | currentMonthTime: '', |
| | | // 当前选择自定义时间 |
| | | currentTime: [], |
| | | |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }] |
| | | }, // 日期设置对象 |
| | | classOption: { |
| | | step: 1 |
| | | }, |
| | | // 分页 |
| | | pagesize: 15, |
| | | pagesCount: 1, |
| | | currentPage: 1, |
| | | // table高度 |
| | | currentTableHeight: 0, |
| | | policeStaionID: '', |
| | | policeInforValue: '', |
| | | policeInforOptions: [ |
| | | { |
| | | value: '', |
| | | label: '全部' |
| | | }, |
| | | { |
| | | value: '盗窃', |
| | | label: '盗窃' |
| | | }, |
| | | { |
| | | value: '涉诈', |
| | | label: '涉诈' |
| | | }, |
| | | { |
| | | value: '纠纷', |
| | | label: '纠纷' |
| | | }, |
| | | { |
| | | value: '涉赌', |
| | | label: '涉赌' |
| | | }, |
| | | { |
| | | value: '涉毒', |
| | | label: '涉毒' |
| | | }, |
| | | { |
| | | value: '涉黄', |
| | | label: '涉黄' |
| | | }, |
| | | { |
| | | value: '求助', |
| | | label: '求助' |
| | | }, |
| | | { |
| | | value: '其他', |
| | | label: '其他' |
| | | } |
| | | ], |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | | picker.$emit('pick', [start, end]) |
| | | } |
| | | }] |
| | | }, // 日期设置对象 |
| | | classOption: { |
| | | step: 1 |
| | | }, |
| | | // 分页 |
| | | pagesize: 15, |
| | | pagesCount: 1, |
| | | currentPage: 1, |
| | | // table高度 |
| | | currentTableHeight: 0, |
| | | policeStaionID: '', |
| | | policeInforValue: '', |
| | | policeInforOptions: [ |
| | | { |
| | | value: '', |
| | | label: '全部' |
| | | }, |
| | | { |
| | | value: '盗窃', |
| | | label: '盗窃' |
| | | }, |
| | | { |
| | | value: '涉诈', |
| | | label: '涉诈' |
| | | }, |
| | | { |
| | | value: '纠纷', |
| | | label: '纠纷' |
| | | }, |
| | | { |
| | | value: '涉赌', |
| | | label: '涉赌' |
| | | }, |
| | | { |
| | | value: '涉毒', |
| | | label: '涉毒' |
| | | }, |
| | | { |
| | | value: '涉黄', |
| | | label: '涉黄' |
| | | }, |
| | | { |
| | | value: '求助', |
| | | label: '求助' |
| | | }, |
| | | { |
| | | value: '其他', |
| | | label: '其他' |
| | | } |
| | | ], |
| | | } |
| | | }, |
| | | |
| | | // components: { |
| | | // vueSeamlessScroll |
| | | // }, |
| | | |
| | | created () { |
| | | this.getHomeAllData() |
| | | |
| | | this.defaultDate() |
| | | |
| | | // disabledDate 为true表示不可选,false表示可选 |
| | | this.pickerOptions = { |
| | | ...this.pickerOptions, |
| | | disabledDate (time) { |
| | | // 设置可选择的日期为今天之后的一个月内 |
| | | let curDate = (new Date()).getTime() |
| | | return time.getTime() > curDate |
| | | } |
| | | } |
| | | |
| | | window.addEventListener('resize', this.setTableHeight) |
| | | }, |
| | | |
| | | mounted () { |
| | | if (this.getWidth() > 7000) { |
| | | this.classOption.step = 8 |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | | /** |
| | | * @description: 获取当前组件内所有数据 |
| | | * @return {*} |
| | | */ |
| | | getHomeAllData (id = '') { |
| | | this.policeStaionID = id |
| | | |
| | | this.historyTabClick(0) |
| | | }, |
| | | |
| | | // components: { |
| | | // vueSeamlessScroll |
| | | // }, |
| | | // 获取table高度 |
| | | setTableHeight () { |
| | | this.$nextTick(() => { |
| | | if (this.$refs.ElTableBox && this.$refs.ElPagination) { |
| | | this.currentTableHeight = this.$refs.ElTableBox.offsetHeight - this.$refs.ElPagination.offsetHeight |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | created () { |
| | | this.getHomeAllData() |
| | | // 分页选择事件 |
| | | handleCurrentChange: function (currentPage) { |
| | | this.currentPage = currentPage |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } |
| | | |
| | | }, |
| | | |
| | | // 设置默认时间 |
| | | defaultDate () { |
| | | var current = new Date() |
| | | |
| | | var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000) |
| | | |
| | | this.currentTime = [seven, current] //将值设置给插件绑定的数据 |
| | | }, |
| | | |
| | | // 时间改变事件 |
| | | datePickerChange (e) { |
| | | // this.timetype |
| | | this.currentPage = 1 |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | const date = e.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } |
| | | }, |
| | | |
| | | // 获取当前日期 |
| | | dateFormat (dateData) { |
| | | var date = new Date(dateData) |
| | | var y = date.getFullYear() |
| | | var m = date.getMonth() + 1 |
| | | m = m < 10 ? ('0' + m) : m |
| | | var d = date.getDate() |
| | | d = d < 10 ? ('0' + d) : d |
| | | const time = y + '-' + m + '-' + d |
| | | return time |
| | | }, |
| | | |
| | | // 走马灯改变事件 |
| | | changeAlarm (index) { |
| | | index = index + 1 |
| | | // 改变数据 |
| | | this.alarmDataHanlder(index) |
| | | }, |
| | | |
| | | // 获取实时接警记录 |
| | | getAnswerPolices () { |
| | | getAnswerPolices({ deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id }).then(res => { |
| | | this.policeSituationRealtimeArr = [] |
| | | |
| | | if (res.data && res.data.length) { |
| | | // 计算页数 |
| | | this.alarmPageCount = Math.ceil(res.data.length / this.alarmPageSize) |
| | | this.policeSituationRealtimeAllArr = res.data.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '') |
| | | if (item.JJDWMC.indexOf('经开') != -1) item.JJDWMC = item.JJDWMC.replace(/经开/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' } |
| | | }) |
| | | // 数据处理 |
| | | this.alarmDataHanlder(1) |
| | | } else { |
| | | this.alarmPageCount = 1 |
| | | this.policeSituationRealtimeArr = [] |
| | | } |
| | | |
| | | this.$emit('policeSituationChange') |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 实时警情数据处理(滚动) |
| | | * @param {*} index |
| | | */ |
| | | alarmDataHanlder (index) { |
| | | this.policeSituationRealtimeArr = [] |
| | | //计算序号 |
| | | var start = (index - 1) * this.alarmPageSize |
| | | var end = index * this.alarmPageSize |
| | | // 获取第 index 页数据 |
| | | this.policeSituationRealtimeAllArr.forEach((item, index) => { |
| | | if (index < Number(end) && index >= Number(start)) { |
| | | this.policeSituationRealtimeArr.push(item) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | policeTypeChange () { |
| | | this.currentPage = 1 |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage }) |
| | | |
| | | } else { |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | } |
| | | }, |
| | | |
| | | // 获取历史接警记录 |
| | | getAlarmList (params) { |
| | | getAlarmList({ ...params, size: this.pagesize, jjdwbh: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id, bjlx: this.policeInforValue }).then(res => { |
| | | this.pagesCount = res.data.data.pages |
| | | |
| | | this.policeSituationHistoryArr = [] |
| | | |
| | | if (res.data.data.records.length > 0) { |
| | | this.policeSituationHistoryArr = res.data.data.records.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '') |
| | | if (item.JJDWMC.indexOf('经开') != -1) item.JJDWMC = item.JJDWMC.replace(/经开/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' } |
| | | }) |
| | | } else { |
| | | this.policeSituationHistoryArr = [] |
| | | } |
| | | |
| | | this.setTableHeight() |
| | | |
| | | this.$emit('policeSituationChange') |
| | | }) |
| | | }, |
| | | |
| | | // 周月选择 |
| | | timeTabClick (type) { |
| | | this.timetype = type |
| | | |
| | | this.currentPage = 1 |
| | | |
| | | if (type == 2) { |
| | | |
| | | this.defaultDate() |
| | | |
| | | // disabledDate 为true表示不可选,false表示可选 |
| | | this.pickerOptions = { |
| | | ...this.pickerOptions, |
| | | disabledDate (time) { |
| | | // 设置可选择的日期为今天之后的一个月内 |
| | | let curDate = (new Date()).getTime() |
| | | return time.getTime() > curDate |
| | | } |
| | | } |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | window.addEventListener('resize', this.setTableHeight) |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | this.currentWeekTime = new Date() |
| | | |
| | | this.currentMonthTime = new Date() |
| | | |
| | | this.getAlarmList({ type, time: this.dateFormat(new Date()), current: this.currentPage }) |
| | | |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | if (this.getWidth() > 7000) { |
| | | this.classOption.step = 8 |
| | | } |
| | | // 实时历史选择 |
| | | async historyTabClick (type) { |
| | | console.log('historyTabClick') |
| | | this.historytype = type |
| | | |
| | | this.timetype = 2 |
| | | |
| | | this.$emit('changePoliceSituationHistoryType', type) |
| | | |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | if (alarmTiming != null) { |
| | | clearInterval(alarmTiming) |
| | | alarmTiming = null |
| | | } |
| | | |
| | | if (type == 0) { |
| | | await this.getAnswerPolices() |
| | | |
| | | alarmTiming = setInterval(() => { |
| | | this.getAnswerPolices() |
| | | }, 60000) |
| | | } else { |
| | | this.currentPage = 1 |
| | | |
| | | await this.getAlarmList({ |
| | | start: date[0], |
| | | end: date[1], |
| | | current: this.currentPage |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | | /** |
| | | * @description: 获取当前组件内所有数据 |
| | | * @return {*} |
| | | */ |
| | | getHomeAllData (id = '') { |
| | | this.policeStaionID = id |
| | | |
| | | this.historyTabClick(0) |
| | | }, |
| | | |
| | | // 获取table高度 |
| | | setTableHeight () { |
| | | this.$nextTick(() => { |
| | | if (this.$refs.ElTableBox && this.$refs.ElPagination) { |
| | | this.currentTableHeight = this.$refs.ElTableBox.offsetHeight - this.$refs.ElPagination.offsetHeight |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // 分页选择事件 |
| | | handleCurrentChange: function (currentPage) { |
| | | this.currentPage = currentPage |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } |
| | | |
| | | }, |
| | | |
| | | // 设置默认时间 |
| | | defaultDate () { |
| | | var current = new Date() |
| | | |
| | | var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000) |
| | | |
| | | this.currentTime = [seven, current] //将值设置给插件绑定的数据 |
| | | }, |
| | | |
| | | // 时间改变事件 |
| | | datePickerChange (e) { |
| | | // this.timetype |
| | | this.currentPage = 1 |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | const date = e.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } |
| | | }, |
| | | |
| | | // 获取当前日期 |
| | | dateFormat (dateData) { |
| | | var date = new Date(dateData) |
| | | var y = date.getFullYear() |
| | | var m = date.getMonth() + 1 |
| | | m = m < 10 ? ('0' + m) : m |
| | | var d = date.getDate() |
| | | d = d < 10 ? ('0' + d) : d |
| | | const time = y + '-' + m + '-' + d |
| | | return time |
| | | }, |
| | | |
| | | // 走马灯改变事件 |
| | | changeAlarm (index) { |
| | | index = index + 1 |
| | | // 改变数据 |
| | | this.alarmDataHanlder(index) |
| | | }, |
| | | |
| | | // 获取实时接警记录 |
| | | getAnswerPolices () { |
| | | getAnswerPolices({ deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id }).then(res => { |
| | | this.policeSituationRealtimeArr = [] |
| | | |
| | | if (res.data && res.data.length) { |
| | | // 计算页数 |
| | | this.alarmPageCount = Math.ceil(res.data.length / this.alarmPageSize) |
| | | this.policeSituationRealtimeAllArr = res.data.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' } |
| | | }) |
| | | // 数据处理 |
| | | this.alarmDataHanlder(1) |
| | | } else { |
| | | this.alarmPageCount = 1 |
| | | this.policeSituationRealtimeArr = [] |
| | | } |
| | | |
| | | this.$emit('policeSituationChange') |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 实时警情数据处理(滚动) |
| | | * @param {*} index |
| | | */ |
| | | alarmDataHanlder (index) { |
| | | this.policeSituationRealtimeArr = [] |
| | | //计算序号 |
| | | var start = (index - 1) * this.alarmPageSize |
| | | var end = index * this.alarmPageSize |
| | | // 获取第 index 页数据 |
| | | this.policeSituationRealtimeAllArr.forEach((item, index) => { |
| | | if (index < Number(end) && index >= Number(start)) { |
| | | this.policeSituationRealtimeArr.push(item) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | policeTypeChange () { |
| | | this.currentPage = 1 |
| | | |
| | | if (this.timetype == 0) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage }) |
| | | |
| | | } else if (this.timetype == 1) { |
| | | |
| | | this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage }) |
| | | |
| | | } else { |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | } |
| | | }, |
| | | |
| | | // 获取历史接警记录 |
| | | getAlarmList (params) { |
| | | getAlarmList({ ...params, size: this.pagesize, jjdwbh: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id, bjlx: this.policeInforValue }).then(res => { |
| | | this.pagesCount = res.data.data.pages |
| | | |
| | | this.policeSituationHistoryArr = [] |
| | | |
| | | if (res.data.data.records.length > 0) { |
| | | this.policeSituationHistoryArr = res.data.data.records.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' } |
| | | }) |
| | | } else { |
| | | this.policeSituationHistoryArr = [] |
| | | } |
| | | |
| | | this.setTableHeight() |
| | | |
| | | this.$emit('policeSituationChange') |
| | | }) |
| | | }, |
| | | |
| | | // 周月选择 |
| | | timeTabClick (type) { |
| | | this.timetype = type |
| | | |
| | | this.currentPage = 1 |
| | | |
| | | if (type == 2) { |
| | | |
| | | this.defaultDate() |
| | | |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage }) |
| | | |
| | | } else { |
| | | |
| | | this.currentWeekTime = new Date() |
| | | |
| | | this.currentMonthTime = new Date() |
| | | |
| | | this.getAlarmList({ type, time: this.dateFormat(new Date()), current: this.currentPage }) |
| | | |
| | | } |
| | | }, |
| | | |
| | | // 实时历史选择 |
| | | async historyTabClick (type) { |
| | | console.log('historyTabClick') |
| | | this.historytype = type |
| | | |
| | | this.timetype = 2 |
| | | |
| | | this.$emit('changePoliceSituationHistoryType', type) |
| | | |
| | | const date = this.currentTime.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | | |
| | | if (alarmTiming != null) { |
| | | clearInterval(alarmTiming) |
| | | alarmTiming = null |
| | | } |
| | | |
| | | if (type == 0) { |
| | | await this.getAnswerPolices() |
| | | |
| | | alarmTiming = setInterval(() => { |
| | | this.getAnswerPolices() |
| | | }, 60000) |
| | | } else { |
| | | this.currentPage = 1 |
| | | |
| | | await this.getAlarmList({ |
| | | start: date[0], |
| | | end: date[1], |
| | | current: this.currentPage |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | |
| | | chooseRealData () { |
| | | return this.policeSituationRealtimeArr |
| | | }, |
| | | |
| | | chooseTimeDate () { |
| | | return this.policeSituationHistoryArr |
| | | }, |
| | | |
| | | // 列表行选择 |
| | | handleSelectClick (item) { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | }, |
| | | |
| | | // 点击定位或者显示弹窗 |
| | | policeSituationClick (item) { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.ZDDWXZB), |
| | | siteWd: Number(item.ZDDWYZB) |
| | | }) |
| | | |
| | | this.$store.commit('SET_DETAILSPOPUP', { |
| | | showBox: true, |
| | | showBtn: true |
| | | }) |
| | | |
| | | this.$store.commit('SET_DATAPOPUP', item) |
| | | |
| | | var popup = new global.DC.DivForms(global.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | | new global.DC.Position( |
| | | Number(item.ZDDWXZB), |
| | | Number(item.ZDDWYZB), |
| | | 0 |
| | | ) |
| | | ) |
| | | ] |
| | | }) |
| | | } |
| | | chooseRealData () { |
| | | return this.policeSituationRealtimeArr |
| | | }, |
| | | |
| | | destroyed () { |
| | | window.removeEventListener('resize', this.setTableHeight) |
| | | chooseTimeDate () { |
| | | return this.policeSituationHistoryArr |
| | | }, |
| | | |
| | | if (alarmTiming != null) { |
| | | clearInterval(alarmTiming) |
| | | alarmTiming = null |
| | | } |
| | | // 列表行选择 |
| | | handleSelectClick (item) { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | }, |
| | | |
| | | // 点击定位或者显示弹窗 |
| | | policeSituationClick (item) { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.ZDDWXZB), |
| | | siteWd: Number(item.ZDDWYZB) |
| | | }) |
| | | |
| | | this.$store.commit('SET_DETAILSPOPUP', { |
| | | showBox: true, |
| | | showBtn: true |
| | | }) |
| | | |
| | | this.$store.commit('SET_DATAPOPUP', item) |
| | | |
| | | var popup = new global.DC.DivForms(global.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | | new global.DC.Position( |
| | | Number(item.ZDDWXZB), |
| | | Number(item.ZDDWYZB), |
| | | 0 |
| | | ) |
| | | ) |
| | | ] |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | destroyed () { |
| | | window.removeEventListener('resize', this.setTableHeight) |
| | | |
| | | if (alarmTiming != null) { |
| | | clearInterval(alarmTiming) |
| | | alarmTiming = null |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .container { |
| | | position: relative; |
| | | height: 100%; |
| | | position: relative; |
| | | height: 100%; |
| | | width: 100%; |
| | | background-image: url(/img/box/bottom-box.png); |
| | | background-size: 100% 100%; |
| | | background-repeat: no-repeat; |
| | | |
| | | .box { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | background-image: url(/img/box/bottom-box.png); |
| | | background-size: 100% 100%; |
| | | background-repeat: no-repeat; |
| | | height: 100%; |
| | | z-index: 11; |
| | | } |
| | | |
| | | .box { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 11; |
| | | .header { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 56px; |
| | | |
| | | .bottom-title { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 18px; |
| | | height: 56px; |
| | | line-height: 56px; |
| | | color: #fff; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | font-style: oblique; |
| | | letter-spacing: 2px; |
| | | } |
| | | |
| | | .header { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 56px; |
| | | .timeTab { |
| | | position: absolute; |
| | | top: 22px; |
| | | right: 670px; |
| | | display: flex; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | |
| | | .bottom-title { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 18px; |
| | | height: 56px; |
| | | line-height: 56px; |
| | | color: #fff; |
| | | text-align: center; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | font-style: oblique; |
| | | letter-spacing: 2px; |
| | | } |
| | | span { |
| | | padding: 0 10px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | background: $sub-tab-bg-color; |
| | | } |
| | | |
| | | .timeTab { |
| | | position: absolute; |
| | | top: 22px; |
| | | right: 670px; |
| | | display: flex; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | .beforetime { |
| | | color: #99cccc; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | span { |
| | | padding: 0 10px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | background: $sub-tab-bg-color; |
| | | } |
| | | |
| | | .beforetime { |
| | | color: #99cccc; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .choosed { |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .timeSeclect { |
| | | width: 520px; |
| | | height: 30px; |
| | | position: absolute; |
| | | top: 20px; |
| | | right: 130px; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | &>div { |
| | | margin: 0 5px; |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | |
| | | .history-tab { |
| | | position: absolute; |
| | | top: 22px; |
| | | right: 12px; |
| | | display: flex; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | |
| | | span { |
| | | padding: 0 10px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | background: $sub-tab-bg-color; |
| | | } |
| | | |
| | | .beforetime { |
| | | color: #99cccc; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .choosed { |
| | | color: #fff; |
| | | } |
| | | } |
| | | .choosed { |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .body { |
| | | margin: 12px; |
| | | margin-top: 10px; |
| | | margin-bottom: 14px; |
| | | width: calc(100% - 24px); |
| | | height: calc(100% - 80px); |
| | | .timeSeclect { |
| | | width: 520px; |
| | | height: 30px; |
| | | position: absolute; |
| | | top: 20px; |
| | | right: 130px; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .title-header { |
| | | li { |
| | | color: #fff !important; |
| | | background: $table-header-bg-color !important; |
| | | } |
| | | } |
| | | |
| | | /* 解决自定义滚动条 x 轴显示问题 */ |
| | | .warp { |
| | | margin: 0 auto; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | height: calc(100% - 44px); |
| | | } |
| | | |
| | | .warp.no-data { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | ul { |
| | | li { |
| | | height: 44px; |
| | | line-height: 44px; |
| | | display: flex; |
| | | cursor: pointer; |
| | | |
| | | span { |
| | | padding: 0 4px; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .num { |
| | | width: 6%; |
| | | } |
| | | |
| | | .receiving-alarm-unit { |
| | | width: 12.6%; |
| | | } |
| | | |
| | | .receiving-alarm-people { |
| | | width: 7.6%; |
| | | } |
| | | |
| | | .receiving-alarm-time { |
| | | width: 16%; |
| | | } |
| | | |
| | | .call-people { |
| | | width: 7.6%; |
| | | } |
| | | |
| | | .call-phone { |
| | | width: 10%; |
| | | } |
| | | |
| | | .call-police-content { |
| | | width: 14%; |
| | | } |
| | | |
| | | .incident-site { |
| | | width: 24%; |
| | | } |
| | | |
| | | .call-police-type { |
| | | width: 8%; |
| | | } |
| | | |
| | | .have-position { |
| | | width: 8%; |
| | | } |
| | | |
| | | .alarm-bz { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | li:nth-child(2n) { |
| | | background: $table-body-tr-2n-color; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | li:nth-child(2n-1) { |
| | | background: $table-body-tr-n-color; |
| | | color: #fff; |
| | | } |
| | | } |
| | | &>div { |
| | | margin: 0 5px; |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | |
| | | .current-table-body { |
| | | margin: 12px; |
| | | margin-top: 10px; |
| | | margin-bottom: 14px; |
| | | width: calc(100% - 24px); |
| | | height: calc(100% - 80px); |
| | | .history-tab { |
| | | position: absolute; |
| | | top: 22px; |
| | | right: 12px; |
| | | display: flex; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | |
| | | .pages { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | span { |
| | | padding: 0 10px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | background: $sub-tab-bg-color; |
| | | } |
| | | |
| | | .beforetime { |
| | | color: #99cccc; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .choosed { |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .body { |
| | | margin: 12px; |
| | | margin-top: 10px; |
| | | margin-bottom: 14px; |
| | | width: calc(100% - 24px); |
| | | height: calc(100% - 80px); |
| | | |
| | | .title-header { |
| | | li { |
| | | color: #fff !important; |
| | | background: $table-header-bg-color !important; |
| | | } |
| | | } |
| | | |
| | | /* 解决自定义滚动条 x 轴显示问题 */ |
| | | .warp { |
| | | margin: 0 auto; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | height: calc(100% - 44px); |
| | | } |
| | | |
| | | .warp.no-data { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | ul { |
| | | li { |
| | | height: 44px; |
| | | line-height: 44px; |
| | | display: flex; |
| | | cursor: pointer; |
| | | |
| | | span { |
| | | padding: 0 4px; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | } |
| | | |
| | | .border-svg { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 1; |
| | | .num { |
| | | width: 6%; |
| | | } |
| | | |
| | | .receiving-alarm-unit { |
| | | width: 12.6%; |
| | | } |
| | | |
| | | .receiving-alarm-people { |
| | | width: 7.6%; |
| | | } |
| | | |
| | | .receiving-alarm-time { |
| | | width: 16%; |
| | | } |
| | | |
| | | .call-people { |
| | | width: 7.6%; |
| | | } |
| | | |
| | | .call-phone { |
| | | width: 10%; |
| | | } |
| | | |
| | | .call-police-content { |
| | | width: 14%; |
| | | } |
| | | |
| | | .incident-site { |
| | | width: 24%; |
| | | } |
| | | |
| | | .call-police-type { |
| | | width: 8%; |
| | | } |
| | | |
| | | .have-position { |
| | | width: 8%; |
| | | } |
| | | |
| | | .alarm-bz { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | li:nth-child(2n) { |
| | | background: $table-body-tr-2n-color; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | li:nth-child(2n-1) { |
| | | background: $table-body-tr-n-color; |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .current-table-body { |
| | | margin: 12px; |
| | | margin-top: 10px; |
| | | margin-bottom: 14px; |
| | | width: calc(100% - 24px); |
| | | height: calc(100% - 80px); |
| | | |
| | | .pages { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |
| | | .border-svg { |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div class="box"> |
| | | <div class="title">重点场所</div> |
| | | <el-main v-loading="houseEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);"> |
| | | <div class="sub-tab"> |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 0 }" @click="houseTabClick(0)"> |
| | | <div class="tab-title-small">九小场所:</div> |
| | |
| | | <div class="box"> |
| | | <div class="title">现有小区</div> |
| | | <el-main v-loading="landEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);"> |
| | | <div class="sub-tab" v-show="isAllPoliceStation"> |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 0 }" @click="landTabClick(0)"> |
| | | <div class="tab-title-small">小区:</div> |
| | |
| | | deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id, |
| | | areaId: this.areaId |
| | | }).then(res => { |
| | | console.log("九小", res) |
| | | let xDate = [] |
| | | let yDate = [] |
| | | |
| | |
| | | setTimeout(() => { |
| | | this.landEchartsLoading = false |
| | | }, 500) |
| | | |
| | | console.log("landData1", landData) |
| | | this.initLandEcharts(landData) |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | |
| | | initLandEcharts (landData) { |
| | | this.disposeLandEchart() |
| | | var chartDom = document.getElementById('landEcharts') |
| | | |
| | | console.log("chartDom", chartDom) |
| | | landMyChart = this.$echarts.init(chartDom) |
| | | |
| | | console.log("landMyChart", landMyChart) |
| | | landMyChart.setOption(this.initLandOptions(landData[0], landData[1])) |
| | | |
| | | console.log("setOption", landData[0]) |
| | | this.clickLandChart() |
| | | }, |
| | | |
| | |
| | | </div> |
| | | </div> |
| | | <el-main v-loading="eventChangeEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)" |
| | | style="height: calc(100% - 17.6%);"> |
| | | <div class="sub-tab"> |
| | | <div class="tab" :class="{ 'select-on-tab': caseInfoType == 0 }" @click="initEventChangeEcharts(0)"> |
| | | <div class="tab-title-small">警情变化趋势</div> |
| | |
| | | <div class="box"> |
| | | <div class="title">现有设备</div> |
| | | <el-main v-loading="equipmentEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)" |
| | | style="height: calc(100% - 17.6%);"> |
| | | <div class="sub-tab"> |
| | | <div class="tab" :class="{ 'select-on-tab': linetype == 0 }" @click="initEquipmentEcharts(0)"> |
| | | <div class="tab-title-small">设备种类</div> |
| | |
| | | |
| | | getSchedulingList(params).then((res) => { |
| | | let a = [], b = [] |
| | | a = res.data.data.filter(i => i.dept == '信州分局') |
| | | b = res.data.data.filter(i => i.dept != '信州分局') |
| | | a = res.data.data.filter(i => i.dept == '经开分局') |
| | | b = res.data.data.filter(i => i.dept != '经开分局') |
| | | |
| | | this.schedulingList = [...a, ...b] |
| | | }) |
| | |
| | | @changeActivityType="changeActivityType" ref="rightContainer"></right-container> |
| | | |
| | | <bottom-container v-show="isShowHomeContent" class="bottom-container" ref="bottomContainer" |
| | | @changePoliceSituationHistoryType="changePoliceSituationHistoryType" |
| | | @policeSituationChange="policeSituationChange" |
| | | @changePoliceSituationHistoryType="changePoliceSituationHistoryType" @policeSituationChange="policeSituationChange" |
| | | @policeSituationSiteClick="policeSituationSiteClick"></bottom-container> |
| | | |
| | | <scheduling-list ref="schedulingList"></scheduling-list> |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" min-width="320%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="channelId" label="通道编号" |
| | | min-width="160%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="channelId" label="通道编号" min-width="160%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="policeStationName" label="所属派出所" |
| | | min-width="140%"></el-table-column> |
| | | <el-table-column label="设备状态"> |
| | |
| | | <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data">暂无数据</div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible" |
| | | :modal-append-to-body="false" :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false" |
| | | class="car-video-box"> |
| | | <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible" :modal-append-to-body="false" |
| | | :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false" class="car-video-box"> |
| | | <hk-video class="video" ref="video" /> |
| | | </el-dialog> |
| | | |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="syld_page all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="syldPage.pageSize" |
| | | :total="syldPage.total" :current-page="syldPage.currentPage" |
| | | @current-change="handleSyldPageChange"></el-pagination> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="syldPage.pageSize" :total="syldPage.total" |
| | | :current-page="syldPage.currentPage" @current-change="handleSyldPageChange"></el-pagination> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="syld_page all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="gzcsPage.pageSize" |
| | | :total="gzcsPage.total" :current-page="gzcsPage.currentPage" |
| | | @current-change="handleGzcsPageChange"></el-pagination> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="gzcsPage.pageSize" :total="gzcsPage.total" |
| | | :current-page="gzcsPage.currentPage" @current-change="handleGzcsPageChange"></el-pagination> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | <div> |
| | | 辖区选择: |
| | | <el-select style="flex: 1;" size="small" v-model="areaChangeValue" placeholder="请选择"> |
| | | <el-option v-for="item in areaListData" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-option v-for="item in areaListData" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="zhuHuInfoPopupTitle" :visible.sync="zhuHuInfoPopupShow" :modal="true" |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="zhuHuInfo-details-box" |
| | | v-loading="zhuHuInfoLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | :before-close="zhuHuBeforeClose" element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | <el-dialog :title="zhuHuInfoPopupTitle" :visible.sync="zhuHuInfoPopupShow" :modal="true" :modal-append-to-body="false" |
| | | :close-on-click-modal="false" class="zhuHuInfo-details-box" v-loading="zhuHuInfoLoading" |
| | | element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" :before-close="zhuHuBeforeClose" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | <div class="header"> |
| | | <!-- <div> |
| | | 姓名: |
| | |
| | | areaChangeValue: '1123598813738675201', |
| | | areaListData: [ |
| | | { |
| | | label: '信州分局', |
| | | label: '经开分局', |
| | | value: '1123598813738675201' |
| | | }, |
| | | { |
| | | label: '东市派出所', |
| | | label: '兴园派出所', |
| | | value: '1596019492522426369' |
| | | }, |
| | | { |
| | | label: '水南派出所', |
| | | label: '董团派出所', |
| | | value: '1596020272834936833' |
| | | }, |
| | | { |
| | | label: '西市派出所', |
| | | value: '1596020342712041474' |
| | | }, |
| | | { |
| | | label: '北门派出所', |
| | | value: '1596020390174785537' |
| | | }, |
| | | { |
| | | label: '车站派出所', |
| | | value: '1596020461461176321' |
| | | }, |
| | | { |
| | | label: '茅家岭派出所', |
| | | value: '1596020515064381442' |
| | | }, |
| | | { |
| | | label: '沙溪派出所', |
| | | value: '1596020574275371010' |
| | | }, |
| | | { |
| | | label: '朝阳派出所', |
| | | value: '1596020623172567041' |
| | | }, |
| | | { |
| | | label: '灵溪派出所', |
| | | value: '1596020683096588290' |
| | | }, |
| | | { |
| | | label: '秦峰派出所', |
| | | value: '1596020727883366401' |
| | | }, |
| | | { |
| | | label: '凤凰派出所', |
| | | value: '1596020775790706690' |
| | | }, |
| | | { |
| | | label: '石狮派出所', |
| | | value: '1614543582897971202' |
| | | }, |
| | | { |
| | | label: '大院派出所', |
| | | value: '1614543698551709698' |
| | | }, |
| | | { |
| | | label: '师院派出所', |
| | | value: '1614543791782699010' |
| | | } |
| | | ], |
| | | zhuSuName: '', |
| | |
| | | */ |
| | | getPanoramaList () { |
| | | getPanoramaList().then(res => { |
| | | if (res.data.code == 200 && res.data.data.length > 0) { |
| | | if (res.data.code == 200 && res.data.data && res.data.data.length > 0) { |
| | | this.panoramaList = res.data.data.map(e => { |
| | | const item = { |
| | | lng: e.longitude, |
| | |
| | | <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right"></i> |
| | | </div> |
| | | </div> |
| | | <div class="build-info" v-show="!BuildListLoading && !buildingList.length" |
| | | style="justify-content: center;">暂无楼栋数据</div> |
| | | <div class="build-info" v-show="!BuildListLoading && !buildingList.length" style="justify-content: center;"> |
| | | 暂无楼栋数据</div> |
| | | </el-main> |
| | | <div class="ridgepole-info" v-if="isShowHouseBox"> |
| | | <div class="title">楼栋信息</div> |
| | |
| | | {{ unitChoosedArr[index * 5 - 5].sname }}{{ unitChoosedArr[index * 5 |
| | | - 5].sname == |
| | | unitChoosedArr[unitChoosedArr.length - 1].sname ? '' : '-' }}{{ |
| | | unitChoosedArr[index * |
| | | 5 |
| | | - 1] ? (unitChoosedArr[index * 5 |
| | | - 1].sname) : (unitChoosedArr[index * 5 - 5].sname == |
| | | unitChoosedArr[unitChoosedArr.length - 1].sname |
| | | ? '' : unitChoosedArr[unitChoosedArr.length - 1].sname) |
| | | }}层 |
| | | unitChoosedArr[index * |
| | | 5 |
| | | - 1] ? (unitChoosedArr[index * 5 |
| | | - 1].sname) : (unitChoosedArr[index * 5 - 5].sname == |
| | | unitChoosedArr[unitChoosedArr.length - 1].sname |
| | | ? '' : unitChoosedArr[unitChoosedArr.length - 1].sname) |
| | | }}层 |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div v-for="(item, index) in unitChoosedArr.slice((floorsType - 1) * 5, floorsType * 5)" :key="index"> |
| | | <div class="title">{{ item.sname }}层:</div> |
| | | <div class="detail"> |
| | | <div v-for="(value, index) in item.children_infos" :key="index" |
| | | @click="residentDetailsClick(value)" :class="{ on: floorChoosed == value.sname }">{{ value.sname |
| | | <div v-for="(value, index) in item.children_infos" :key="index" @click="residentDetailsClick(value)" |
| | | :class="{ on: floorChoosed == value.sname }">{{ value.sname |
| | | }}室 |
| | | <div class="flow" |
| | | :class="[value.isBus == '1' ? 'red' : '', value.isBus == '2' ? 'grey' : '', value.isBus == '3' ? 'green' : '']"> |
| | |
| | | <el-table :data="parkingLotData" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" |
| | | @row-click="deepDataRowClick($event, 'park')" :empty-text="houseDeepNoDataText" |
| | | v-loading="houseDeepLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | @row-click="deepDataRowClick($event, 'park')" :empty-text="houseDeepNoDataText" v-loading="houseDeepLoading" |
| | | element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="x" label="经度" width="100"></el-table-column> |
| | |
| | | @row-click="deepDataRowClick($event, 'business')" @sort-change="sortDevName" |
| | | :empty-text="houseDeepNoDataText" v-loading="houseDeepLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)" |
| | | :show-overflow-tooltip="true" @cell-mouse-enter="businessMouseEnter" |
| | | @cell-mouse-leave="businessMouseLeave"> |
| | | :show-overflow-tooltip="true" @cell-mouse-enter="businessMouseEnter" @cell-mouse-leave="businessMouseLeave"> |
| | | <el-table-column sortable="custom" prop="placeName" label="场所名称" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="labelName" label="场所类型"></el-table-column> |
| | |
| | | <div class="item"> |
| | | <div class="key">名称:</div> |
| | | <div class="value">{{ businessChooseItem.placeName |
| | | }}</div> |
| | | }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="key">类型:</div> |
| | |
| | | <div class="item"> |
| | | <div class="key">经度:</div> |
| | | <div class="value">{{ businessChooseItem.x |
| | | }}</div> |
| | | }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="key">纬度:</div> |
| | | <div class="value">{{ businessChooseItem.y |
| | | }}</div> |
| | | }}</div> |
| | | </div> |
| | | </div> |
| | | <map-search-box></map-search-box> |
| | |
| | | </div> |
| | | |
| | | <div v-if="hushiPeoTy == 8" class="pay-info-box"> |
| | | <scanCodeAlarm :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType" |
| | | ref="scanCodeAlarm"> |
| | | <scanCodeAlarm :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType" ref="scanCodeAlarm"> |
| | | </scanCodeAlarm> |
| | | </div> |
| | | |
| | |
| | | <el-table-column prop="areaName" label="所属责任区"></el-table-column> |
| | | </el-table> |
| | | <div class="pages all-pagination-sty" ref="tablePagination" v-show="!keyPeopleLoading"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="peopleHandleCurrentChange"></el-pagination> |
| | | <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" |
| | | :current-page="peoplePage.currentPage" @current-change="peopleHandleCurrentChange"></el-pagination> |
| | | </div> |
| | | </el-main> |
| | | </el-dialog> |
| | |
| | | // 使用首页传过来的小区id获取停车场出入口商场和 小区名称类型地址数据 |
| | | // 原来 361100 临时361102 |
| | | this.getSearchExtensivelyBgAoiDeepdata( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | this.$route.query.id, |
| | | "1|3" |
| | |
| | | |
| | | // 大搜之搜索面详细数据(停车场出入口商场)--默认万达华府 |
| | | this.getSearchExtensivelyBgAoiDeepdata( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | villageId, |
| | | "1|3" |
| | |
| | | this.businessData = [] |
| | | |
| | | this.getSearchExtensivelyBgAoiDeepdata( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | current.id, |
| | | "1|3" |
| | |
| | | |
| | | // 楼栋单元楼层户室查询-大搜 |
| | | this.getUnitHousesData( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | item.build_uid, |
| | | "1|3", |
| | |
| | | this.callPoliceData = res.data.data.records.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { |
| | |
| | | "361102", |
| | | "0.00001" |
| | | ).then((res) => { |
| | | let bgId = res.data.data.properties.ijnnl |
| | | // let bgId = res.data.data.properties.ijnnl |
| | | let bgId = res.data.data.properties.bg_buildid |
| | | getSearchExtensively( |
| | | "ebf48ecaa1fd436fa3d40c4600aa051f", |
| | | "81503dad589f42bf9a9e5ea5e017f329", |
| | | "361100", |
| | | "", |
| | | bgId |
| | |
| | | </div> |
| | | |
| | | <div class="title"> |
| | | <h3>信州公安警务作战一体化平台</h3> |
| | | <h3>经开区公安警务作战一体化平台</h3> |
| | | </div> |
| | | |
| | | <!-- 菜单导航 --> |
| | |
| | | <div class="triangle"></div> |
| | | <div class="userName">用户名:{{ currentUserInfo.user_name }}</div> |
| | | <div class="userBtn"> |
| | | <div class="back-system" v-if="permission.operation_manager" @click="goToBack"> |
| | | <!-- <div class="back-system" v-if="permission.operation_manager" @click="goToBack"> |
| | | <i class="el-icon-user-back"></i> |
| | | 运维管理 |
| | | </div> |
| | | </div> --> |
| | | <div class="back-system" :style="{ color: currentUrl == '/layout/available' ? '#fcbd56' : '#fff' }" |
| | | @click="goToPage('/layout/available')"> |
| | | <i class="el-icon-s-grid"></i> |
| | |
| | | </div> |
| | | |
| | | <div slot="copyrightText"> |
| | | <div class="copyright-box" v-show="!this.$store.state.popupParams.isShowHomeContent">版权所有:信州分局 |
| | | <br />技术支持:户政大队/科信大队 |
| | | <div class="copyright-box" v-show="!this.$store.state.popupParams.isShowHomeContent">版权所有:经开分局 |
| | | <!-- <br />技术支持:户政大队/科信大队 --> |
| | | </div> |
| | | <div :class="{ 'copyright-box-shouye': isShouYe, 'copyright-box': !isShouYe, }" |
| | | v-show="this.$store.state.popupParams.isShowHomeContent"> |
| | | 版权所有:信州分局 |
| | | <br />技术支持:户政大队/科信大队 |
| | | 版权所有:经开分局 |
| | | <!-- <br />技术支持:户政大队/科信大队 --> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </el-form> |
| | | </div>--> |
| | | <!-- </div> --> |
| | | <div class="loginTitle">信州公安警务作战一体化平台</div> |
| | | <div class="loginTitle">经开区公安警务作战一体化平台</div> |
| | | <div class="layui-form login_content"> |
| | | <p>用户登录</p> |
| | | <el-form :model="loginForm" ref="formName" status-icon :rules="rules"> |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="copyright-box"> |
| | | 版权所有:信州分局 <br />技术支持:户政大队/科信大队 |
| | | <!-- 版权所有:经开分局 <br />技术支持:户政大队/科信大队 --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <div class="search-item-box" v-show="areaChangeShow"> |
| | | <span>辖区选择:</span> |
| | | |
| | | <el-select style="flex: 1;" size="small" v-model="areaChangeValue" @change="areaValueChange" |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in areaListData" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select style="flex: 1;" size="small" v-model="areaChangeValue" @change="areaValueChange" placeholder="请选择"> |
| | | <el-option v-for="item in areaListData" :key="item.value" :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | |
| | | areaChangeValue: '1123598813738675201', |
| | | areaListData: [ |
| | | { |
| | | label: '信州分局', |
| | | label: '经开分局', |
| | | value: '1123598813738675201' |
| | | }, |
| | | { |
| | | label: '东市派出所', |
| | | label: '兴园派出所', |
| | | value: '1596019492522426369' |
| | | }, |
| | | { |
| | | label: '水南派出所', |
| | | label: '董团派出所', |
| | | value: '1596020272834936833' |
| | | }, |
| | | { |
| | | label: '西市派出所', |
| | | value: '1596020342712041474' |
| | | }, |
| | | { |
| | | label: '北门派出所', |
| | | value: '1596020390174785537' |
| | | }, |
| | | { |
| | | label: '车站派出所', |
| | | value: '1596020461461176321' |
| | | }, |
| | | { |
| | | label: '茅家岭派出所', |
| | | value: '1596020515064381442' |
| | | }, |
| | | { |
| | | label: '沙溪派出所', |
| | | value: '1596020574275371010' |
| | | }, |
| | | { |
| | | label: '朝阳派出所', |
| | | value: '1596020623172567041' |
| | | }, |
| | | { |
| | | label: '灵溪派出所', |
| | | value: '1596020683096588290' |
| | | }, |
| | | { |
| | | label: '秦峰派出所', |
| | | value: '1596020727883366401' |
| | | }, |
| | | { |
| | | label: '凤凰派出所', |
| | | value: '1596020775790706690' |
| | | }, |
| | | { |
| | | label: '石狮派出所', |
| | | value: '1614543582897971202' |
| | | }, |
| | | { |
| | | label: '大院派出所', |
| | | value: '1614543698551709698' |
| | | }, |
| | | { |
| | | label: '师院派出所', |
| | | value: '1614543791782699010' |
| | | } |
| | | ], |
| | | |
| | |
| | | this.realPoliceInforData = res.data.map((item, index) => { |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB } |
| | |
| | | if (classifyData.data.data.length > 0) { |
| | | that.historyPoliceInforData = classifyData.data.data.map((item, index) => { |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB } |
| | |
| | | proxy: { |
| | | "/api": { |
| | | // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址 |
| | | target: "https://wrj.shuixiongit.com/srjwapi", |
| | | // target: "https://wrj.shuixiongit.com/srjwapi", |
| | | // target: "http://z4042833u6.wicp.vip",//钟 |
| | | // target: "https://238z61221a.oicp.vip",//原 |
| | | // target: "http://192.168.1.177:82", |
| | | target: "http://localhost:82", |
| | | // target: "http://106.225.193.35:82", |
| | | // target: "http://192.168.1.170:82", |
| | | // target: "http://124.221.125.71:9529",//开发调试 |