| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-09-07 09:34:58 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-28 09:03:27 |
| | | * @LastEditTime: 2023-01-06 17:01:58 |
| | | * @FilePath: \srs-police-affairs\public\index.html |
| | | * @Description: |
| | | * |
| | |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>affairs.ico"> |
| | | <title> |
| | | 社区警务平台 |
| | | 信州公安VR指挥平台 |
| | | </title> |
| | | |
| | | <script src="./depend/vue.min.js"></script> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-12-27 14:19:19 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-05 15:16:20 |
| | | * @LastEditTime: 2023-01-06 16:30:13 |
| | | * @FilePath: \srs-police-affairs\src\api\home\index.js |
| | | * @Description: |
| | | * |
| | |
| | | method: 'get', |
| | | params: {} |
| | | }) |
| | | } |
| | | |
| | | // 获取接警历史记录 |
| | | export const getAlarmList = (type, time) => { |
| | | return request({ |
| | | url: `/api/alarm/alarm/page`, |
| | | method: 'get', |
| | | params: { |
| | | current: 1, |
| | | size: 100, |
| | | type, |
| | | time |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取处警历史 |
| | | export const getActAsPoliceList = (alarmID, cjdwbh = '') => { |
| | | return request({ |
| | | url: `/api/outAlarm/outAlarm/page`, |
| | | method: 'get', |
| | | params: { |
| | | current: 1, |
| | | size: 100, |
| | | alarmID, |
| | | cjdwbh |
| | | } |
| | | }) |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-11-15 15:10:41 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-12-05 15:22:33 |
| | | * @LastEditTime: 2023-01-06 17:13:07 |
| | | * @FilePath: \srs-police-affairs\src\api\police\index.js |
| | | * @Description: |
| | | * |
| | |
| | | */ |
| | | export const getHistoricalTrack = (params, requestBaseUrl = 'outside') => { |
| | | return request({ |
| | | url: `/api/position/history/${params.channelId}`, |
| | | url: `/position/history/${params.channelId}`, |
| | | method: 'get', |
| | | requestBaseUrl, |
| | | params: params |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-11-15 15:10:41 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-12-19 17:38:55 |
| | | * @LastEditTime: 2023-01-06 17:15:39 |
| | | * @FilePath: \srs-police-affairs\src\api\video\index.js |
| | | * @Description: |
| | | * |
| | |
| | | */ |
| | | export const getVideoList = (page, count, query, params = {}) => { |
| | | return request({ |
| | | url: '/device/query/devices/34020000002000000003/channels', |
| | | // 内网使用地址,外网把36110000002009999000更换掉 |
| | | url: '/device/query/devices/36110000002009999000/channels', |
| | | method: 'get', |
| | | requestBaseUrl: 'outside', |
| | | params: { |
| | |
| | | <div class="arrow-rb"></div> |
| | | <div class="label-wrap"> |
| | | <div class="title"> |
| | | 详细信息 |
| | | 警情信息 |
| | | <div class="details-btn" @click="popupDetailShow">详情>>></div> |
| | | <div class="close" @click="closePopup" title="关闭"></div> |
| | | </div> |
| | | <div class="change-btn"> |
| | | <div class="on">接警信息</div> |
| | | <div>出警信息</div> |
| | | <div @click="currentBtn = '接警信息'" :class="{ on: currentBtn == '接警信息' }">接警信息</div> |
| | | <div @click="currentBtnChange('出警信息')" :class="{ on: currentBtn == '出警信息' }">出警信息 |
| | | </div> |
| | | </div> |
| | | <div class="label-content"> |
| | | |
| | | <div v-show="currentBtn == '接警信息'" class="label-content"> |
| | | <div class="item"> |
| | | <div>警情类别:</div> |
| | | <div>{{ dataPopup.type }}</div> |
| | | <div>接警单位:</div> |
| | | <div>{{ dataPopup.JJDWMC }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警员:</div> |
| | | <div>{{ dataPopup.JJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警时间:</div> |
| | | <div>{{ dataPopup.dealTime }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>警情状态:</div> |
| | | <div>{{ dataPopup.state }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>经办民警:</div> |
| | | <div>{{ dataPopup.dealPolice }}</div> |
| | | <div>{{ dataPopup.JJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警人:</div> |
| | | <div>{{ dataPopup.callPeople }}</div> |
| | | <div>{{ dataPopup.BJRXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警电话:</div> |
| | | <div>{{ dataPopup.comingPhone }}</div> |
| | | <div>联系电话:</div> |
| | | <div>{{ dataPopup.LXDH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警人联系人:</div> |
| | | <div>{{ dataPopup.callPhone }}</div> |
| | | <div>联系电话:</div> |
| | | <div>{{ dataPopup.BJNR }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>所属派出所:</div> |
| | | <div>{{ dataPopup.policeName }}</div> |
| | | <div>事发地址:</div> |
| | | <div>{{ dataPopup.SFDZ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>经度:</div> |
| | | <div>{{ dataPopup.position[0] }}</div> |
| | | <div>报警类型:</div> |
| | | <div>{{ dataPopup.BJLX }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>纬度:</div> |
| | | <div>{{ dataPopup.position[1] }}</div> |
| | | <div>备注:</div> |
| | | <div>{{ dataPopup.MEMO }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-show="currentBtn == '出警信息'" class="label-content"> |
| | | <div class="item"> |
| | | <div>处警单位:</div> |
| | | <div>{{ CJdata.CJDWMC }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警员:</div> |
| | | <div>{{ CJdata.CJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警时间:</div> |
| | | <div>{{ CJdata.JJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>出动人员:</div> |
| | | <div>{{ CJdata.CDRY }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>出动车辆:</div> |
| | | <div>{{ CJdata.CDCL }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>到达现场时间:</div> |
| | | <div>{{ CJdata.DDXCSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处理完毕时间:</div> |
| | | <div>{{ CJdata.CLWBSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警类型:</div> |
| | | <div>{{ CJdata.CJLX }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>备注:</div> |
| | | <div>{{ CJdata.MEMO }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | |
| | | import { getActAsPoliceList } from "@/api/home/index.js" |
| | | |
| | | export default { |
| | | name: 'mapPopup', |
| | | data () { |
| | | return { |
| | | currentBtn: '接警信息', |
| | | CJdata: {} |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'detailsPopup', |
| | |
| | | }, |
| | | methods: { |
| | | closePopup () { |
| | | this.currentBtn = '接警信息' |
| | | this.$store.commit('SET_DETAILSPOPUP', false) |
| | | }, |
| | | |
| | | currentBtnChange (type) { |
| | | this.currentBtn = type |
| | | |
| | | this.CJdata = {} |
| | | getActAsPoliceList(this.dataPopup.JJDBH, '').then(res => { |
| | | this.CJdata = res.data.data.records |
| | | }) |
| | | }, |
| | | |
| | | popupDetailShow () { |
| | | this.$EventBus.$emit('policeSituationSiteClick', this.dataPopup) |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | .divForms .area { |
| | | position: relative; |
| | | min-width: 420px; |
| | | min-width: 360px; |
| | | } |
| | | |
| | | .divForms-wrap { |
| | |
| | | } |
| | | |
| | | &>div.on { |
| | | border-bottom: 2px solid #1831a7; |
| | | color: #3d95f3; |
| | | border-bottom: 2px solid #3d95f3; |
| | | } |
| | | } |
| | | |
| | | .label-content { |
| | | padding: 4px 0; |
| | | padding: 10px 0; |
| | | |
| | | .item { |
| | | display: flex; |
| | |
| | | text-align: left; |
| | | |
| | | &>div:first-child { |
| | | width: 96px; |
| | | width: 112px; |
| | | text-align: justify; |
| | | display: inline-block; |
| | | text-align-last: justify; |
| | |
| | | height: 36px; |
| | | line-height: 36px; |
| | | |
| | | .details-btn { |
| | | position: absolute; |
| | | top: 0; |
| | | right: 28px; |
| | | height: 100%; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .details-btn:hover { |
| | | color: #3d95f3; |
| | | } |
| | | |
| | | .close { |
| | | position: absolute; |
| | | right: 5px; |
| | | top: -2px; |
| | | top: 0; |
| | | } |
| | | |
| | | .close::before { |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-12-30 13:59:43 |
| | | * @LastEditTime: 2023-01-06 16:59:43 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | <!-- 全屏控制按钮 --> |
| | | <div class="screen-full-btn"> |
| | | <el-tooltip v-if="isFullscreen" content="缩放" placement="bottom" effect="dark"> |
| | | <i |
| | | class="fa fa-compress" |
| | | style="vertical-align: middle; cursor: pointer" |
| | | @click="fullscreenchange" |
| | | ></i> |
| | | <i class="fa fa-compress" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | </el-tooltip> |
| | | <el-tooltip v-if="!isFullscreen" content="全屏" placement="bottom" effect="dark"> |
| | | <i |
| | | class="fa fa-expand" |
| | | style="vertical-align: middle; cursor: pointer" |
| | | @click="fullscreenchange" |
| | | ></i> |
| | | <i class="fa fa-expand" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | </el-tooltip> |
| | | </div> |
| | | <!-- 切换矢量图按钮 --> |
| | | <div |
| | | class="image-switch-icon-btn" |
| | | title="切换影像" |
| | | @mouseover="showImgBtn = true" |
| | | @mouseleave="showImgBtn = false" |
| | | > |
| | | <div class="image-switch-icon-btn" title="切换影像" @mouseover="showImgBtn = true" @mouseleave="showImgBtn = false"> |
| | | <div class="icon-box"> |
| | | <img src="/img/base_map.png" alt /> |
| | | </div> |
| | | |
| | | <div |
| | | class="image-switch-img-btn" |
| | | v-show="showImgBtn" |
| | | @mouseover="showImgBtn = true" |
| | | @mouseleave="showImgBtn = false" |
| | | > |
| | | <div class="image-switch-img-btn" v-show="showImgBtn" @mouseover="showImgBtn = true" |
| | | @mouseleave="showImgBtn = false"> |
| | | <div class="img" @click="switchImg"> |
| | | <span :class="{ on: imgtype == 0 }">影像</span> |
| | | </div> |
| | |
| | | // global.viewer.addTerrain(terrain) |
| | | |
| | | // 天地图 影像 |
| | | global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c', |
| | | subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'], |
| | | format: 'image/jpeg', |
| | | show: true, |
| | | maximumLevel: 18 |
| | | }) |
| | | ) |
| | | // global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | // url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c', |
| | | // subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'], |
| | | // format: 'image/jpeg', |
| | | // show: true, |
| | | // maximumLevel: 18 |
| | | // }) |
| | | // ) |
| | | |
| | | |
| | | // 上饶部署,内网使用的 |
| | | // global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | // url: "http://10.141.11.11:8090/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326", |
| | | // layer: "wmts_4326_361100", |
| | | // style: "default", |
| | | // format: "image/png", |
| | | // tileMatrixSetID: "c", |
| | | // tileMatrixLabels: new Array(18).fill(0).map((v, i) => i + 1), |
| | | // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | // }) |
| | | // ) |
| | | global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | url: "http://10.141.11.11:8090/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326", |
| | | layer: "wmts_4326_361100", |
| | | style: "default", |
| | | format: "image/png", |
| | | tileMatrixSetID: "c", |
| | | tileMatrixLabels: new Array(18).fill(0).map((v, i) => i + 1), |
| | | tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(), |
| | | }) |
| | | ) |
| | | |
| | | // 设置地图初始位置,角度等 |
| | | global.viewer.camera.setView({ |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-07-29 15:19:13 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-03 10:58:13 |
| | | * @LastEditTime: 2023-01-06 17:13:56 |
| | | * @FilePath: \srs-police-affairs\src\router\axios.js |
| | | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | */ |
| | |
| | | // config.baseURL = "http://192.168.0.129:18185/api" |
| | | } else if (config.requestBaseUrl == "fengt") { |
| | | // feng tu 数据 |
| | | // config.baseURL = "http://10.141.11.11:18080" |
| | | config.baseURL = "http://192.168.0.112:18080" |
| | | config.baseURL = "http://10.141.11.11:18080" |
| | | // config.baseURL = "http://192.168.0.112:18080" |
| | | } else if (config.requestBaseUrl == "fengtDS") { |
| | | config.baseURL = "http://192.168.0.112:9091" |
| | | } |
| | |
| | | &>.park-content, |
| | | &>.business-content { |
| | | height: countSizeVh(380); |
| | | |
| | | |
| | | .el-table__header-wrapper { |
| | | height: countSizeVh(48); |
| | | |
| | |
| | | font-size: countSizeVh(16); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .area { |
| | | min-width: countSizeVw(420, 1920); |
| | | min-width: countSizeVw(360, 1920); |
| | | } |
| | | |
| | | .b-t { |
| | |
| | | } |
| | | |
| | | .label-content { |
| | | padding: countSizeVh(4) 0; |
| | | padding: countSizeVh(10) 0; |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | .close { |
| | | right: countSizeVw(5, 1920); |
| | | top: countSizeVh(-2); |
| | | } |
| | | |
| | | .close::before { |
| | |
| | | start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker> --> |
| | | |
| | | |
| | | <el-date-picker @change="datePickerChange" v-show="timetype == 0" v-model="currentTime" type="week" |
| | | format="yyyy 第 WW 周" :picker-options="pickerOptions" placeholder="选择周"> |
| | | <el-date-picker @change="datePickerChange" v-show="timetype == 0" v-model="currentWeekTime" |
| | | type="week" format="yyyy 第 WW 周" :picker-options="pickerOptions" placeholder="选择周"> |
| | | </el-date-picker> |
| | | |
| | | <el-date-picker @change="datePickerChange" v-show="timetype == 1" v-model="currentTime" type="month" |
| | | :picker-options="pickerOptions" placeholder="选择月"> |
| | | <el-date-picker @change="datePickerChange" v-show="timetype == 1" v-model="currentMonthTime" |
| | | type="month" :picker-options="pickerOptions" placeholder="选择月"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="history-tab"> |
| | |
| | | <li v-for="(item, index) in listCurrentData" :key="index" :data-obj="JSON.stringify(item)" |
| | | class="row"> |
| | | <span class="num" v-text="index + 1"></span> |
| | | <span class="receiving-alarm-unit" v-text="JJDWMC"></span> |
| | | <span class="receiving-alarm-people" v-text="JJYXM"></span> |
| | | <span class="receiving-alarm-time" v-text="JJSJ"></span> |
| | | <span class="call-people" v-text="BJRXM"></span> |
| | | <span class="call-phone" v-text="LXDH"></span> |
| | | <span class="call-police-content" v-text="BJNR"></span> |
| | | <span class="incident-site" v-text="SFDZ"></span> |
| | | <span class="call-police-type" v-text="BJLX"></span> |
| | | <span class="alarm-bz" v-text="MEMO"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-people" v-text="item.JJYXM"></span> |
| | | <span class="receiving-alarm-time" v-text="item.JJSJ"></span> |
| | | <span class="call-people" v-text="item.BJRXM"></span> |
| | | <span class="call-phone" v-text="item.LXDH"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | | <span class="incident-site" v-text="item.SFDZ"></span> |
| | | <span class="call-police-type" v-text="item.BJLX"></span> |
| | | <span class="alarm-bz" v-text="item.MEMO"></span> |
| | | </li> |
| | | </ul> |
| | | </vue-seamless-scroll> |
| | |
| | | import vueSeamlessScroll from 'vue-seamless-scroll' |
| | | import historyArr from '@/assets/data/policeSituationArr/historyArr.js' |
| | | |
| | | import { getCallPolices, getAnswerPolices } from "@/api/home/index.js" |
| | | import { getCallPolices, getAnswerPolices, getAlarmList } from "@/api/home/index.js" |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | policeSituationHistoryArr: [], |
| | | policeSituationHistorySaveArr: [], |
| | | eventTime: '', |
| | | currentTime: '', |
| | | currentWeekTime: '', |
| | | currentMonthTime: '', |
| | | pickerOptions: {}, // 日期设置对象 |
| | | classOption: { |
| | | step: 1 |
| | |
| | | }, |
| | | |
| | | created () { |
| | | this.policeSituationHistoryArr = historyArr |
| | | this.policeSituationHistorySaveArr = historyArr |
| | | |
| | | this.getAnswerPolices() |
| | | |
| | | setInterval(() => { |
| | | console.log(this.currentTime) |
| | | }, 5000) |
| | | |
| | | // disabledDate 为true表示不可选,false表示可选 |
| | | this.pickerOptions = { |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | // 时间改变事件 |
| | | datePickerChange (e) { |
| | | // this.timetype |
| | | const dateStr = this.dateFormat(e) |
| | | |
| | | this.getAlarmList(this.timetype, dateStr) |
| | | }, |
| | | |
| | | // 获取当前日期 |
| | |
| | | return time |
| | | }, |
| | | |
| | | // 获取实时接警记录 |
| | | getAnswerPolices () { |
| | | // getCallPolices().then(res => { |
| | | // res.data.result |
| | | // }) |
| | | |
| | | // getAnswerPolices().then(res => { |
| | | // this.policeSituationRealtimeArr = res.data.result |
| | | // }) |
| | | |
| | | this.policeSituationRealtimeArr = [ |
| | | { |
| | | JJDW: '公安局', |
| | | position: [112, 28] |
| | | }, |
| | | { |
| | | JJDW: '派出所' |
| | | }, |
| | | ] |
| | | |
| | | this.policeSituationRealtimeArr = [{ |
| | | ZDDWXZB: 112, |
| | | ZDDWYZB: 25, |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }, |
| | | { |
| | | JJDWMC: '信州公安局派出所', |
| | | JJYXM: '欧阳西门', |
| | | JJSJ: '2022-12-12 12:12:12', |
| | | BJRXM: '西门庆祝', |
| | | LXDH: 17335843642, |
| | | BJNR: '今日在某小区查获私人赌博场所', |
| | | SFDZ: '上饶市信州区万达华府小区', |
| | | BJLX: '聚众赌博', |
| | | MEMO: '人群聚集赌博' |
| | | }] |
| | | }, |
| | | |
| | | // 获取历史接警记录 |
| | | getAlarmList (type, time) { |
| | | getAlarmList(type, time).then(res => { |
| | | this.policeSituationHistoryArr = res.data.data.records |
| | | }) |
| | | }, |
| | | |
| | | // 周月选择 |
| | | timeTabClick (type) { |
| | | this.timetype = type |
| | | |
| | | if (type == 0) { |
| | | this.getAlarmList(type, this.dateFormat(this.currentWeekTime)) |
| | | } else { |
| | | this.currentMonthTime == '' ? this.currentMonthTime = new Date() : '' |
| | | |
| | | this.getAlarmList(type, this.dateFormat(this.currentMonthTime)) |
| | | } |
| | | |
| | | this.$emit('changePoliceSituationTimeType', type) |
| | | this.$emit('policeSituationChange') |
| | | }, |
| | | |
| | | // 实时历史选择 |
| | | historyTabClick (type) { |
| | | this.historytype = type |
| | | |
| | | this.currentWeekTime = new Date() |
| | | |
| | | if (type == 0) { |
| | | this.getAnswerPolices() |
| | | } else { |
| | | this.policeSituationHistoryArr = this.chooseMouthTimeDate(this.policeSituationHistorySaveArr) |
| | | this.getAlarmList(type, this.dateFormat(this.currentWeekTime)) |
| | | } |
| | | }, |
| | | |
| | | historyTabClick (type) { |
| | | this.historytype = type |
| | | this.$emit('changePoliceSituationHistoryType', type) |
| | | this.$emit('policeSituationChange') |
| | | }, |
| | | |
| | | chooseWeekTimeDate (arr) { |
| | | let lastWeekArr = [] |
| | | let realtimeTimeStamp = new Date().valueOf() - 24 * 60 * 60 * 1000 |
| | | let lastWeekTimeStamp = new Date().valueOf() - 7 * 24 * 60 * 60 * 1000 |
| | | arr.forEach(item => { |
| | | if (new Date(item.dealTime).valueOf() < realtimeTimeStamp && new Date(item.dealTime).valueOf() > lastWeekTimeStamp) { |
| | | lastWeekArr.push(item) |
| | | } |
| | | }) |
| | | return lastWeekArr |
| | | chooseWeekTimeDate () { |
| | | return this.policeSituationHistoryArr |
| | | }, |
| | | |
| | | chooseMouthTimeDate (arr) { |
| | | let lastMouthArr = [] |
| | | let realtimeTimeStamp = new Date().valueOf() - 24 * 60 * 60 * 1000 |
| | | let lastMouthTimeStamp = new Date().valueOf() - 30 * 24 * 60 * 60 * 1000 |
| | | arr.forEach(item => { |
| | | if (new Date(item.dealTime).valueOf() < realtimeTimeStamp && new Date(item.dealTime).valueOf() > lastMouthTimeStamp) { |
| | | lastMouthArr.push(item) |
| | | } |
| | | }) |
| | | return lastMouthArr |
| | | chooseMouthTimeDate () { |
| | | return this.policeSituationHistoryArr |
| | | }, |
| | | |
| | | policeSituationClick (item) { |
| | | if (item.position) { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.position[0]), |
| | | siteWd: Number(item.position[1]) |
| | | }) |
| | | this.$store.commit('SET_DETAILSPOPUP', 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.position[0]), |
| | | Number(item.position[1]), |
| | | 0 |
| | | ) |
| | | ) |
| | | ] |
| | | }) |
| | | } else { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | } |
| | | }, |
| | | |
| | | // 列表行选择 |
| | | handleSelectClick (e) { |
| | | let element |
| | | for (let i = 0; i < e.path.length; i++) { |
| | |
| | | let currentItem = JSON.parse(element.dataset.obj) |
| | | |
| | | this.policeSituationClick(currentItem) |
| | | } |
| | | }, |
| | | |
| | | // 点击定位或者显示弹窗 |
| | | policeSituationClick (item) { |
| | | if (item.ZDDWXZB && item.ZDDWXZB != 0 && item.ZDDWYZB && item.ZDDWYZB != 0) { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.ZDDWXZB), |
| | | siteWd: Number(item.ZDDWYZB) |
| | | }) |
| | | |
| | | this.$store.commit('SET_DETAILSPOPUP', 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 |
| | | ) |
| | | ) |
| | | ] |
| | | }) |
| | | } else { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | display: flex; |
| | | cursor: pointer; |
| | | |
| | | span { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .num { |
| | | width: 6%; |
| | | } |
| | |
| | | <div class="box"> |
| | | <div class="title"> |
| | | <div class="title-tab"> |
| | | <span :class="{ choosed: peopletype == 0 }" @click="peopleTabClick(0)">现有人员</span>/ |
| | | <span :class="{ choosed: peopletype == 1 }" @click="peopleTabClick(1)">重点人员</span> |
| | | <span :class="{ choosed: peopletype == 0 }" @click="peopleTabClick(0)">现有人员</span> |
| | | <!-- <span :class="{ choosed: peopletype == 1 }" @click="peopleTabClick(1)">重点人员</span> --> |
| | | </div> |
| | | <div class="title-num"> |
| | | <!-- <div class="title-num"> |
| | | 共 |
| | | <span :class="{ choosed: peopletype == 0 }">100</span>/ |
| | | <span :class="{ choosed: peopletype == 0 }">100</span>人 |
| | | <span :class="{ choosed: peopletype == 1 }">1</span>人 |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div class="sub-tab" v-show="peopletype == 0"> |
| | | <div class="tab3" :class="{ 'select-on-tab': tabType == 0 }" @click="personTabClick(0)"> |
| | | <div class="num">164.57万人</div> |
| | | <div class="type">户籍人口</div> |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 0 }" @click="personTabClick(0)"> |
| | | <div class="tab-title-small">户籍人口:</div> |
| | | <div class="tab-title-small">164.57万人</div> |
| | | </div> |
| | | <div class="tab3" :class="{ 'select-on-tab': tabType == 1 }" @click="personTabClick(1)"> |
| | | <div class="num">17.52万人</div> |
| | | <div class="type">流动人口</div> |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 1 }" @click="personTabClick(1)"> |
| | | <div class="tab-title-small">重点人员:</div> |
| | | <div class="tab-title-small">1人</div> |
| | | </div> |
| | | <div class="tab3" :class="{ 'select-on-tab': tabType == 2 }" @click="personTabClick(2)"> |
| | | <!-- <div class="tab3" :class="{ 'select-on-tab': tabType == 2 }" @click="personTabClick(2)"> |
| | | <div class="num">91995人</div> |
| | | <div class="type">境外人口</div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div id="PersonEcharts" class="echarts-box"></div> |
| | | <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0" @click="backBegin"></div> |
| | |
| | | const myLandColors = ['#4150d8', '#28bf7e', '#ed7c2f', '#f2a93b', '#f9cf36', '#4a5bdc', '#4cd698', '#f4914e', '#fcb75b', '#ffe180', '#b6c2ff', '#96edc1'] |
| | | |
| | | export default { |
| | | data () { |
| | | data() { |
| | | return { |
| | | tabType: 0, |
| | | peopletype: 0, |
| | |
| | | keyPersonSelectSaveArr: [], |
| | | } |
| | | }, |
| | | mounted () { |
| | | mounted() { |
| | | this.initLandEcharts() |
| | | this.initPersonEcharts() |
| | | this.inithouseEcharts() |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | echartsResize () { |
| | | echartsResize() { |
| | | homePersonmyChart && homePersonmyChart != null && homePersonmyChart.resize() |
| | | landMyChart && landMyChart != null && landMyChart.resize() |
| | | keyPersonmyChart && keyPersonmyChart != null && keyPersonmyChart.resize() |
| | | houseMyChart && houseMyChart != null && houseMyChart.resize() |
| | | }, |
| | | |
| | | initPersonEcharts () { |
| | | initPersonEcharts() { |
| | | var chartDom = document.getElementById('PersonEcharts') |
| | | homePersonmyChart = this.$echarts.init(chartDom) |
| | | homePersonmyChart.setOption(this.initPersonOptions(['车站所', '沙溪所', '灵溪所', '北门所', '江光所'], [881, 2211, 6414, 4321, 1232], ['#06B5D7', '#44C0C1', '#71C8B1'])) |
| | | }, |
| | | |
| | | initPersonOptions (xDate, yDate, colors) { |
| | | initPersonOptions(xDate, yDate, colors) { |
| | | return { |
| | | tooltip: { |
| | | trigger: 'item', |
| | |
| | | } |
| | | }, |
| | | |
| | | personTabClick (type) { |
| | | personTabClick(type) { |
| | | this.tabType = type |
| | | this.dataDeep = 1 |
| | | let xDate, yDate, colors |
| | | |
| | | if (type == 0) { |
| | | homePersonmyChart.dispose() |
| | | this.initPersonEcharts() |
| | | homePersonmyChart.off('click') |
| | | this.clickPeopleChart() |
| | | xDate = ['车站所', '沙溪所', '灵溪所', '北门所', '江光所'] |
| | | yDate = [881, 2211, 6414, 4321, 1232] |
| | | colors = ['#06B5D7', '#44C0C1', '#71C8B1'] |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | } else if (type == 1) { |
| | | xDate = ['湖北', '上海', '北京', '广东', '浙江'] |
| | | yDate = [6414, 4231, 2211, 1231, 881] |
| | | colors = ['#ef9faa', '#f7bfc6', '#fedade'] |
| | | } else if (type == 2) { |
| | | xDate = ['日本', '美国', '俄罗斯', '英国', '印度'] |
| | | yDate = [881, 1231, 2211, 4321, 6414] |
| | | colors = ['#7d65c0', '#a47db4', '#e0a8c5'] |
| | | this.peopleTabClick(type); |
| | | } |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | }, |
| | | |
| | | inithouseEcharts () { |
| | | inithouseEcharts() { |
| | | var chartDom = document.getElementById('houseEcharts') |
| | | houseMyChart = this.$echarts.init(chartDom) |
| | | houseMyChart.setOption(this.initHouseOptions(['商业房屋', '居民住宅', '公共用房', '文化场所', '政府建筑'], [88188, 1222211, 464104, 43201, 12302], [{ 'value': 1222211, 'realValue': 88188 }, { 'value': 1222211, 'realValue': 1222211 }, { 'value': 1222211, 'realValue': 464104 }, { 'value': 1222211, 'realValue': 43201 }, { 'value': 1222211, 'realValue': 12302 }])) |
| | | }, |
| | | |
| | | initHouseOptions (xDate, y1Date, y2Date) { |
| | | initHouseOptions(xDate, y1Date, y2Date) { |
| | | return { |
| | | tooltip: { |
| | | trigger: 'item', |
| | |
| | | } |
| | | }, |
| | | |
| | | houseTabClick (type) { |
| | | houseTabClick(type) { |
| | | this.tabTypeTwo = type |
| | | |
| | | let xDate, y1Date, y2Date |
| | |
| | | houseMyChart.setOption(this.initHouseOptions(xDate, y1Date, y2Date), true) |
| | | }, |
| | | |
| | | initLandEcharts () { |
| | | initLandEcharts() { |
| | | var chartDom = document.getElementById('landEcharts') |
| | | landMyChart = this.$echarts.init(chartDom) |
| | | landMyChart.setOption(this.initLandOptions(['车站所', '沙溪所', '灵溪所', '北门所', '江光所', '水南所', '秦峰所', '茅家岭所', '西市所', '朝阳所'], [6414, 2211, 4321, 1232, 881, 6414, 2211, 4321, 1232, 881])) |
| | | }, |
| | | |
| | | initLandOptions (xDate, yDate) { |
| | | initLandOptions(xDate, yDate) { |
| | | return { |
| | | grid: { |
| | | top: '4%', |
| | |
| | | } |
| | | }, |
| | | |
| | | landTabClick (type) { |
| | | landTabClick(type) { |
| | | this.tabTypeThree = type |
| | | let xDate, yDate |
| | | |
| | |
| | | landMyChart.setOption(this.initLandOptions(xDate, yDate), true) |
| | | }, |
| | | |
| | | peopleTabClick (type) { |
| | | this.peopletype = type |
| | | peopleTabClick(type) { |
| | | // this.peopletype = type |
| | | homePersonmyChart.dispose() |
| | | this.$nextTick(() => { |
| | | if (type == 0) { |
| | |
| | | }) |
| | | }, |
| | | |
| | | clickPeopleChart () { |
| | | clickPeopleChart() { |
| | | homePersonmyChart.on('click', params => { |
| | | let xDate, yDate, colors |
| | | this.dataDeep = 2 |
| | |
| | | }) |
| | | }, |
| | | |
| | | clickLandChart () { |
| | | clickLandChart() { |
| | | landMyChart.on('click', params => { |
| | | this.landVisible = true |
| | | this.landTitle = params.name |
| | |
| | | }) |
| | | }, |
| | | |
| | | clickkeyPersonChart () { |
| | | clickkeyPersonChart() { |
| | | keyPersonmyChart.on('click', params => { |
| | | let keyPersonDetailNewArr = [] |
| | | this.keyPersonSelectArr.some((item) => { |
| | |
| | | }) |
| | | }, |
| | | |
| | | initkeyPersonEcharts () { |
| | | initkeyPersonEcharts() { |
| | | var chartDom = document.getElementById('PersonEcharts') |
| | | keyPersonmyChart = this.$echarts.init(chartDom) |
| | | let dataArr = this.getKeyPersonCount(this.keyPersonSelectArr) |
| | | keyPersonmyChart.setOption(this.initkeyPersonOption(dataArr)) |
| | | }, |
| | | |
| | | initkeyPersonOption (dataArr) { |
| | | initkeyPersonOption(dataArr) { |
| | | return { |
| | | tooltip: { |
| | | trigger: 'item', |
| | |
| | | } |
| | | }, |
| | | legend: { |
| | | left: '48%', |
| | | y: '10%', |
| | | left: '45%', |
| | | y: '1%', |
| | | itemGap: 20, |
| | | textStyle: { |
| | | color: '#fff' |
| | |
| | | { |
| | | name: '', |
| | | type: 'pie', |
| | | radius: ['40%', '70%'], |
| | | center: ['24%', '57%'], |
| | | radius: ['30%', '60%'], |
| | | center: ['22%', '55%'], |
| | | avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | |
| | | } |
| | | }, |
| | | |
| | | selectPoliceChangeData (name) { |
| | | selectPoliceChangeData(name) { |
| | | if (this.peopletype == 0 && this.tabType == 0) { |
| | | let xDate, yDate, colors |
| | | if (name == '车站所') { |
| | |
| | | |
| | | }, |
| | | |
| | | backBegin () { |
| | | backBegin() { |
| | | this.dataDeep = 1 |
| | | let xDate, yDate, colors |
| | | if (this.tabType == 0) { |
| | |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | }, |
| | | |
| | | getKeyPersonCount (arr) { |
| | | getKeyPersonCount(arr) { |
| | | let valueArr = [0, 0, 0, 0, 0, 0, 0] |
| | | arr.some(item => { |
| | | if (item.type == '涉恐人员') { |
| | |
| | | return KeyPersonDataArr |
| | | }, |
| | | |
| | | selectAreaChangeData (name) { |
| | | selectAreaChangeData(name) { |
| | | if (this.peopletype == 1) { |
| | | if (this.peopletype == 1 && name != '全部') { |
| | | let arr = [] |
| | |
| | | |
| | | }, |
| | | |
| | | destroyed () { |
| | | destroyed() { |
| | | window.removeEventListener("resize", this.echartsResize) |
| | | |
| | | if (homePersonmyChart) { |
| | |
| | | background: $sub-tab-bg-color; |
| | | border-radius: 8px; |
| | | cursor: pointer; |
| | | height: 22px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | &>div { |
| | | height: 22px; |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-05 17:04:32 |
| | | * @LastEditTime: 2023-01-06 15:44:39 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | :class="{ on: policeInformationType == '出警信息' }" |
| | | @click="policeInformationType = '出警信息'" |
| | | >出警信息</div> |
| | | <div |
| | | :class="{ on: policeInformationType == '接警信息' }" |
| | | @click="alarmOrActAsPolice('接警信息')" |
| | | >接警信息</div> |
| | | <div |
| | | :class="{ on: policeInformationType == '出警信息' }" |
| | | @click="alarmOrActAsPolice('出警信息')" |
| | | >出警信息</div> |
| | | </div> |
| | | |
| | | <div v-show="policeInformationType == '接警信息'" class="box"> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-show="policeInformationType == '出警信息'" class="box"></div> |
| | | <div v-show="policeInformationType == '出警信息'" class="box"> |
| | | <div class="item"> |
| | | <div>处警单位编号:</div> |
| | | <div>{{ CJdata.CJDWBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警单位名称:</div> |
| | | <div>{{ CJdata.CJDWMC }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警单编号:</div> |
| | | <div>{{ CJdata.CJDBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警员编号:</div> |
| | | <div>{{ CJdata.CJYBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处警员姓名:</div> |
| | | <div>{{ CJdata.CJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警时间:</div> |
| | | <div>{{ CJdata.JJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>到达现场时间:</div> |
| | | <div>{{ CJdata.DDXCSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>首次反馈时间:</div> |
| | | <div>{{ CJdata.SCFKSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处理完毕时间:</div> |
| | | <div>{{ CJdata.CLWBSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>出动人员:</div> |
| | | <div>{{ CJdata.CDRY }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>出动车辆:</div> |
| | | <div>{{ CJdata.CDCL }}</div> |
| | | </div> |
| | | |
| | | <div class="item"> |
| | | <div>处警类型:</div> |
| | | <div>{{ CJdata.CJLX }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>备注:</div> |
| | | <div>{{ CJdata.MEMO }}</div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | import policeSituationHistoryArr from '@/assets/data/policeSituationArr/historyArr.js' |
| | | import { getPoliceStationList } from "@/api/dept" |
| | | import { convertStringToList } from "@/utils/geometryStringTool" |
| | | |
| | | import { getActAsPoliceList } from "@/api/home/index.js" |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | policeSituationRealtimeArr: [], |
| | | policeSituationHistoryArr: [], |
| | | policeSituationDetailArr: {}, |
| | | CJdata: {}, |
| | | activityDetailArr: {}, |
| | | |
| | | } |
| | |
| | | components: { leftContainer, rightContainer, bottomContainer }, |
| | | |
| | | created () { |
| | | const that = this |
| | | this.carList = carList |
| | | this.phoneList = phoneList |
| | | this.monitoringList = monitoringList |
| | |
| | | |
| | | this.getResidentialQuartersList('361102') |
| | | |
| | | |
| | | this.$EventBus.$on('policeSituationSiteClick', (params) => { |
| | | console.log(params) |
| | | |
| | | that.policeSituationSiteClick(params) |
| | | }) |
| | | }, |
| | | |
| | | mounted () { |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | // 接出警切换 |
| | | alarmOrActAsPolice (type) { |
| | | this.policeInformationType = type |
| | | |
| | | this.CJdata = {} |
| | | if (type == '出警信息') { |
| | | getActAsPoliceList(this.policeSituationDetailArr.JJDBH).then(res => { |
| | | this.CJdata = res.data.data.records |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | searchName (name, arr) { |
| | | let obj = {} |
| | | let flag = false |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:24 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-12-28 10:08:37 |
| | | * @LastEditTime: 2023-01-06 17:01:29 |
| | | * @FilePath: \srs-police-affairs\src\views\layout\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | </div> |
| | | |
| | | <div class="title"> |
| | | <h3>社区警务平台</h3> |
| | | <h3>信州公安VR指挥平台</h3> |
| | | </div> |
| | | |
| | | <!-- 菜单导航 --> |