Merge remote-tracking branch 'origin/master'
| | |
| | | } |
| | | |
| | | // 户籍人口、重点人口信息 |
| | | export const getVillagePersonInfo = (resBusId) => { |
| | | export const getVillagePersonInfo = (resBusId, buildId, status) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/page`, |
| | | method: 'get', |
| | | params: { |
| | | resBusId |
| | | resBusId, |
| | | buildId, |
| | | status |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | |
| | | // 获取对应id下的派出所的责任区人口 |
| | | export const getVillagePersonStatisticInfoByPoliceStationId = (name,id) => { |
| | | export const getVillagePersonStatisticInfoByPoliceStationId = (name, id) => { |
| | | return request({ |
| | | url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByPoliceStationId`, |
| | | method: 'get', |
| | |
| | | } |
| | | |
| | | // 获取该责任区下的人员列表信息 |
| | | export const getAreaPage = (current,size,areaId) => { |
| | | export const getAreaPage = (current, size, areaId) => { |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getAreaPage`, |
| | | method: 'get', |
| | |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height:40px; |
| | | line-height: 40px; |
| | | } |
| | | |
| | | .el-table__header-wrapper { |
| | | height:60px; |
| | | line-height: 60px; |
| | | } |
| | | .el-table .cell{ |
| | | font-size: 16px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | | .el-table th.el-table__cell>.cell{ |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | .el-table { |
| | | height: calc(100% - 40px); |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | |
| | | height: countSizeVh(40); |
| | | |
| | | &>div { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | &>button { |
| | | width: countSizeVh(32); |
| | | height: countSizeVh(32); |
| | |
| | | } |
| | | |
| | | &>ul { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | li { |
| | | width: countSizeVh(32); |
| | | height: countSizeVh(32); |
| | |
| | | |
| | | .land-details-box { |
| | | .el-dialog__header { |
| | | height: countSizeVh(40); |
| | | line-height: countSizeVh(40); |
| | | } |
| | | height: countSizeVh(40); |
| | | line-height: countSizeVh(40); |
| | | } |
| | | .el-table__header-wrapper { |
| | | height: countSizeVh(60); |
| | | line-height: countSizeVh(40); |
| | |
| | | width: countSizeVw(1000, 1920); |
| | | height: countSizeVh(700); |
| | | } |
| | | .el-table__header-wrapper { |
| | | height: countSizeVh(60); |
| | | line-height: countSizeVh(40); |
| | | } |
| | | .el-table .cell{ |
| | | font-size: countSizeVh(16); |
| | | height: countSizeVh(44); |
| | | line-height: countSizeVh(44); |
| | | } |
| | | .el-dialog__header { |
| | | height: countSizeVh(40); |
| | | line-height: countSizeVh(40); |
| | | } |
| | | .pages { |
| | | height: countSizeVh(40); |
| | | |
| | | &>div { |
| | | &>button { |
| | | width: countSizeVh(32); |
| | | height: countSizeVh(32); |
| | | |
| | | &>i { |
| | | font-size: countSizeVh(16); |
| | | } |
| | | } |
| | | |
| | | &>ul { |
| | | li { |
| | | width: countSizeVh(32); |
| | | height: countSizeVh(32); |
| | | line-height: countSizeVh(32); |
| | | font-size: countSizeVh(16); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | .el-table { |
| | | height: calc(100% - countSizeVh(50)); |
| | | } |
| | | |
| | | } |
| | | |
| | | .policeSituation-details-box { |
| | |
| | | }, |
| | | |
| | | searchLandDetail () { |
| | | console.log(666) |
| | | this.getLandDetail(this.landType, this.landDetailId, this.policeName, this.callPhone) |
| | | }, |
| | | |
| | |
| | | |
| | | <div class="content"> |
| | | <div class="one"> |
| | | <div @click="goTOPeopleDetail"> |
| | | <div @click="goTOPeopleDetail(1)"> |
| | | <div>{{ peopleInfo.registeredPopulation }}</div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div @click="goTOPeopleDetail"> |
| | | <div @click="goTOPeopleDetail(2)"> |
| | | <div style="color:#FF796C">{{peopleInfo.KeyPopulation}}</div> |
| | | <div>重点人口</div> |
| | | </div> |
| | |
| | | class="keyPerson-details-box" |
| | | > |
| | | <el-table |
| | | :data="keyPersonDetailArr" |
| | | :data="personDetailArr" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | > |
| | | <el-table-column prop="type" label="重点人员类型"></el-table-column> |
| | | <el-table-column prop="name" label="姓名"></el-table-column> |
| | | <el-table-column prop="sex" label="性别"></el-table-column> |
| | | <el-table-column prop="address" label="地址"></el-table-column> |
| | | <!-- <el-table-column label="序号" type="index" width="50" align="center"> |
| | | <template scope="scope"> |
| | | <span>{{(page - 1) * pageSize + scope.$index + 1}}</span> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column prop="type" label="重点人员类型" v-if="keyPeopleType == 2"></el-table-column> |
| | | <el-table-column prop="realName" label="姓名"></el-table-column> |
| | | <el-table-column prop="cardNo" label="身份证号"></el-table-column> |
| | | <el-table-column prop="address" label="地址" v-if="false"></el-table-column> |
| | | <el-table-column prop="phone" label="电话"></el-table-column> |
| | | <el-table-column prop="policeStation" label="所属派出所"></el-table-column> |
| | | <el-table-column prop="housingEastate" label="所属责任区"></el-table-column> |
| | | <el-table-column prop="policeStationName" label="所属派出所"></el-table-column> |
| | | <el-table-column prop="areaName" label="所属责任区"></el-table-column> |
| | | </el-table> |
| | | <div class="pages" ref="tablePagination"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="peoplePage.pageSize" |
| | | :page-count="peoplePage.count" |
| | | :current-page="peoplePage.currentPage" |
| | | @current-change="peopleHandleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | businessData: [], |
| | | keyPersonTitle: '人员详情', |
| | | keyPersonVisible: false, |
| | | keyPersonDetailArr: [ |
| | | { |
| | | "name": "张某某", |
| | | "sex": "女", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "车站所", |
| | | "housingEastate": "责任区1", |
| | | "type": "涉恐人员" |
| | | }, |
| | | { |
| | | "name": "黄某某", |
| | | "sex": "男", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "沙溪所", |
| | | "housingEastate": "责任区4", |
| | | "type": "涉恐人员" |
| | | }, |
| | | { |
| | | "name": "邓某某", |
| | | "sex": "女", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "灵溪所", |
| | | "housingEastate": "责任区3", |
| | | "type": "涉恐人员" |
| | | }, |
| | | { |
| | | "name": "章某某", |
| | | "sex": "女", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "江光所", |
| | | "housingEastate": "责任区1", |
| | | "type": "涉恐人员" |
| | | }, |
| | | { |
| | | "name": "王某某", |
| | | "sex": "女", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "车站所", |
| | | "housingEastate": "责任区3", |
| | | "type": "涉恐人员" |
| | | }, |
| | | { |
| | | "name": "贾某某", |
| | | "sex": "男", |
| | | "address": "XXXXXX", |
| | | "phone": "132XXXX6666", |
| | | "policeStation": "灵溪所", |
| | | "housingEastate": "责任区2", |
| | | "type": "涉恐人员" |
| | | } |
| | | ], |
| | | personDetailArr: [], |
| | | |
| | | // 报警信息 |
| | | policeSituationHistoryArr: [], |
| | |
| | | villageInfo: {}, |
| | | floorInfo: {}, |
| | | peopleInfo: {}, |
| | | choosedBuildId: '', |
| | | keyPeopleType: '', |
| | | peoplePage: { |
| | | total: 0, |
| | | pageSize: 9, |
| | | count: 0, |
| | | currentPage: 1 |
| | | }, |
| | | |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | created () { |
| | | // 首页跳转社区包含参数 |
| | | if (this.$route.query.id) { |
| | | console.log(this.$route.query.id, 111112233) |
| | | this.getVillageInfo(this.$route.query.id) |
| | | // 使用首页传过来的小区id获取停车场出入口商场和 小区名称类型地址数据 |
| | | this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.$route.query.id, '1|3') |
| | | } else {// 直接进入社区默认小区数据(万达华府) |
| | | console.log(this.$route.query.id, 6666666) |
| | | // 默认获取万达广场的责任民警及所属辖区 |
| | | } else { |
| | | //直接进入社区 默认获取万达广场的责任民警及所属辖区 |
| | | this.getVillageInfo('644A2C4049024A3C8C76D96EEE4366FD') |
| | | // 大搜之搜索面详细数据(停车场出入口商场)--默认万达华府 |
| | | this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '644A2C4049024A3C8C76D96EEE4366FD', '1|3') |
| | |
| | | this.floorInfo.elev = item.elev |
| | | this.floorInfo.floor_num = item.floor_num |
| | | // 获取户籍人口重点人口数据 |
| | | this.choosedBuildId = item.build_id |
| | | this.getVillagePersonStatisticInfoByBuildId(item.build_id) |
| | | this.getHouses(item.build_id, '361102') |
| | | this.$EventBus.$emit('toPosition', item) |
| | |
| | | }) |
| | | }, |
| | | |
| | | goTOPeopleDetail () { |
| | | goTOPeopleDetail (status) { |
| | | this.keyPersonVisible = true |
| | | this.keyPeopleType = status |
| | | this.keyPersonTitle = status == 1 ? '户籍人口详情' : '重点人口详情' |
| | | this.getVillagePersonInfo('', this.choosedBuildId, status == 1 ? '' : status) |
| | | |
| | | }, |
| | | |
| | | // 获取历史接警记录 |
| | |
| | | // this.getAlarmList() |
| | | }, |
| | | |
| | | peopleHandleCurrentChange (currentPage) { |
| | | this.peoplePage.currentPage = currentPage |
| | | }, |
| | | |
| | | // 警情列表点击事件 |
| | | clickData (row) { |
| | | this.policeSituationDetailObj = row |
| | |
| | | }, |
| | | |
| | | async loadNode (node, resolve) { |
| | | console.log('node', node) |
| | | // console.log('node', node) |
| | | if (node.level === 0) { |
| | | let policeStaionList = [] |
| | | await getPoliceStationLazyTree(1).then(res => { |
| | |
| | | }, |
| | | |
| | | // 房屋人口信息 |
| | | getVillagePersonInfo (resBusId) { |
| | | getVillagePersonInfo(resBusId).then(res => { |
| | | this.houseDate = res.data.data.records |
| | | getVillagePersonInfo (resBusId, buildId, status) { |
| | | getVillagePersonInfo(resBusId, buildId, status).then(res => { |
| | | if (buildId) { |
| | | this.personDetailArr = res.data.data.records |
| | | } else { |
| | | this.houseDate = res.data.data.records |
| | | } |
| | | }) |
| | | }, |
| | | |
| | |
| | | <div v-show="boxShow" class="container-content"> |
| | | <div class="switch-box" v-show="!detailFlag"> |
| | | 资源类别: |
| | | <el-select v-model="typeValue" @change="navClick" placeholder="请选择" class="type-select-css"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" |
| | | class="option-css"></el-option> |
| | | <el-select |
| | | v-model="typeValue" |
| | | @change="navClick" |
| | | placeholder="请选择" |
| | | class="type-select-css" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | class="option-css" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="list-show" v-if="!detailFlag"> |
| | | <div class="search-box"> |
| | | 资源名称: |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <input |
| | | v-model="searchValue" |
| | | @input="searchChange" |
| | | type="text" |
| | | placeholder="请输入搜索条件" |
| | | /> |
| | | </div> |
| | | |
| | | <div class="list" ref="tableBox"> |
| | | <el-table :data="equimentTableData" |
| | | <el-table |
| | | :data="equimentTableData" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称" |
| | | min-width="30%"></el-table-column> |
| | | <el-table-column prop="channelId" :show-overflow-tooltip="true" label="通道编号" |
| | | min-width="24%"></el-table-column> |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | min-width="30%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="channelId" |
| | | :show-overflow-tooltip="true" |
| | | label="通道编号" |
| | | min-width="24%" |
| | | ></el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="18%"> |
| | | <template slot-scope="scope"> |
| | | <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> |
| | |
| | | |
| | | <el-table-column label="操作" align="center" min-width="28%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button v-show="navType == 0" @click="equipmentTrack(scope.row)" type="text" |
| | | size="small" title="轨迹"> |
| | | <el-button |
| | | v-show="navType == 0" |
| | | @click="equipmentTrack(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | | <el-button |
| | | @click="play(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="播放视频" |
| | | > |
| | | <i class="el-icon-video-play"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" |
| | | :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <ul> |
| | | <li> |
| | | <div>通道编号:</div> |
| | | <div>{{ currentSelectEquipment.channelId ? currentSelectEquipment.channelId : '' }} |
| | | </div> |
| | | <div>{{ currentSelectEquipment.channelId ? currentSelectEquipment.channelId : '' }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>设备编号:</div> |
| | | <div>{{ currentSelectEquipment.deviceId ? currentSelectEquipment.deviceId : '' }} |
| | | </div> |
| | | <div>{{ currentSelectEquipment.deviceId ? currentSelectEquipment.deviceId : '' }}</div> |
| | | </li> |
| | | |
| | | <li> |
| | |
| | | |
| | | <li> |
| | | <div>状态:</div> |
| | | <div>{{ |
| | | <div> |
| | | {{ |
| | | currentSelectEquipment.status ? (currentSelectEquipment.status == 0 ? '离线' : |
| | | '在线') : '' |
| | | }}</div> |
| | | '在线') : '' |
| | | }} |
| | | </div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker v-model="trackTime" type="daterange" unlink-panels range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" |
| | | end-placeholder="结束日期"></el-date-picker> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="daterange" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | |
| | | </div> |
| | | |
| | | <div class="search-content"> |
| | | <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" |
| | | type="text" placeholder="请输入搜索条件" /> |
| | | <input |
| | | v-model="searchExtensivelyValue" |
| | | @input="searchExtensivelyChange" |
| | | @focus="searchExtensivelyFocus" |
| | | type="text" |
| | | placeholder="请输入搜索条件" |
| | | /> |
| | | <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> |
| | | <img src="../../../public/img/icon/clear.png" alt /> |
| | | </div> |
| | |
| | | |
| | | <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box"> |
| | | <div> |
| | | <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" |
| | | :key="index">{{ item.name }}</div> |
| | | <div |
| | | @click="searchExtensivelyVlaClick(item)" |
| | | v-for="(item, index) in searchExtensivelyArray" |
| | | :key="index" |
| | | >{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | | style="object-fit: fill"></video> |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="false" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <video |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | ref="videoElement" |
| | | id="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | await getHistoricalTrack(params).then(res => { |
| | | positionArr = res.data.data |
| | | }) |
| | | |
| | | return positionArr |
| | | }, |
| | | |
| | |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | |
| | | &>div { |
| | | & > div { |
| | | flex: 1; |
| | | } |
| | | } |
| | |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | |
| | | &>div { |
| | | & > div { |
| | | text-align: center; |
| | | } |
| | | |
| | | &>div:first-child { |
| | | & > div:first-child { |
| | | flex: 2; |
| | | } |
| | | |
| | | &>div:last-child { |
| | | & > div:last-child { |
| | | flex: 6; |
| | | |
| | | &>div { |
| | | & > div { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | |
| | | border-radius: 10px; |
| | | overflow: hidden; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | |