| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-05-10 17:32:24 |
| | | * @LastEditTime: 2023-05-15 10:34:43 |
| | | * @FilePath: \srs-police-affairs\src\views\policeInfor\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <div class="search-item-box"> |
| | | <span>警情类型:</span> |
| | | |
| | | <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 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 style="margin-left: 8px;"> |
| | |
| | | <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> |
| | | |
| | | <div class="search-item-box"> |
| | | <el-date-picker |
| | | size="mini" |
| | | :clearable="false" |
| | | v-model="currentTime" |
| | | type="daterange" |
| | | align="center" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="datePickerChange" |
| | | :picker-options="pickerOptions" |
| | | ></el-date-picker> |
| | | <el-date-picker size="mini" :clearable="false" v-model="currentTime" type="daterange" align="center" |
| | | unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | @change="datePickerChange" :picker-options="pickerOptions"></el-date-picker> |
| | | </div> |
| | | |
| | | <div class="search-item-box">数量:{{ historyPoliceInforData.length }} 起</div> |
| | | </div> |
| | | |
| | | <div class="police-info"> |
| | | <el-table |
| | | :data="historyPoliceInforData" |
| | | style="width: 100%" |
| | | :height="currentTableHeight" |
| | | <el-table :data="historyPoliceInforData" style="width: 100%" :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'default' }" |
| | | :row-class-name="tableRowClassName" |
| | | class="police-infor-table" |
| | | @cell-mouse-enter="tableEnter" |
| | | @cell-mouse-leave="tabelLeave" |
| | | > |
| | | :row-class-name="tableRowClassName" class="police-infor-table" @cell-mouse-enter="tableEnter" |
| | | @cell-mouse-leave="tabelLeave"> |
| | | <template slot="empty"> |
| | | <div>{{ historyEmptyText }}</div> |
| | | </template> |
| | | <el-table-column |
| | | prop="JJDWMC" |
| | | :show-overflow-tooltip="true" |
| | | label="接警单位" |
| | | min-width="80%" |
| | | ></el-table-column> |
| | | <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" |
| | | min-width="80%"></el-table-column> |
| | | <el-table-column prop="BJSJ" label="报警时间" min-width="50%"></el-table-column> |
| | | <el-table-column prop="jqlxName" label="报警类型"></el-table-column> |
| | | <el-table-column label="操作" align="center" min-width="32%"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | v-if="!whetherPosition(scope.row)" |
| | | @click="clickData(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i |
| | | class="el-icon-location" |
| | | :style="{ color: positionColor(scope.row) }" |
| | | ></i> |
| | | <el-button v-if="!whetherPosition(scope.row)" @click="clickData(scope.row)" type="text" |
| | | size="small" title="定位"> |
| | | <i class="el-icon-location" :style="{ color: positionColor(scope.row) }"></i> |
| | | </el-button> |
| | | <el-buttonalign-justify |
| | | @click="siteClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="详情" |
| | | > |
| | | <el-buttonalign-justify @click="siteClick(scope.row)" type="text" size="small" title="详情"> |
| | | <i class="el-icon-document"></i> |
| | | </el-buttonalign-justify> |
| | | </template> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | title="警情信息" |
| | | :visible.sync="policeSituationVisible" |
| | | :modal-append-to-body="false" |
| | | :before-close="policeSituationBeforeClose" |
| | | :modal="true" |
| | | :close-on-click-modal="false" |
| | | class="policeSituation-details-box" |
| | | > |
| | | <el-dialog title="警情信息" :visible.sync="policeSituationVisible" :modal-append-to-body="false" |
| | | :before-close="policeSituationBeforeClose" :modal="true" :close-on-click-modal="false" |
| | | class="policeSituation-details-box"> |
| | | <div class="btn-change"> |
| | | <div |
| | | :class="{ on: policeInformationType == '接警信息' }" |
| | | @click="alarmOrActAsPolice('接警信息')" |
| | | >接警信息</div> |
| | | <div |
| | | :class="{ on: policeInformationType == '出警信息' }" |
| | | @click="alarmOrActAsPolice('出警信息')" |
| | | >出警信息</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 == '出警信息' && JSON.stringify(CJdata) != '{}'" |
| | | class="box" |
| | | > |
| | | <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) != '{}'" class="box"> |
| | | <div class="item"> |
| | | <div>处警单位编号:</div> |
| | | <div>{{ CJdata.CJDWBH }}</div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div |
| | | v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" |
| | | class="box no-data" |
| | | >暂无警情</div> |
| | | <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data">暂无警情</div> |
| | | </el-dialog> |
| | | |
| | | <div |
| | | class="cur-tooltip" |
| | | v-show="currentTooltip" |
| | | :style="{ top: currentPointerPosition.y + 'px', left: currentPointerPosition.x + 'px' }" |
| | | > |
| | | <div class="cur-tooltip" v-show="currentTooltip" |
| | | :style="{ top: currentPointerPosition.y + 'px', left: currentPointerPosition.x + 'px' }"> |
| | | <div class="type-name">报警内容</div> |
| | | <div class="type-content">{{ currentBJNR }}</div> |
| | | </div> |
| | |
| | | boxShow: false, |
| | | pages: { |
| | | total: 0, |
| | | size: 999, |
| | | current: 1 |
| | | }, |
| | | |
| | | currentTableHeight: 0, |
| | |
| | | }, |
| | | |
| | | addHeatmap (data) { |
| | | if (this.heatMap != null) { |
| | | this.heatMap.show(false) |
| | | } |
| | | |
| | | let bounds = { |
| | | west: 117.9, |
| | | south: 28.3, |
| | |
| | | // 获取历史接警记录(不分页) |
| | | getAlarmList (params) { |
| | | this.loading() |
| | | |
| | | this.clearLayer() |
| | | |
| | | this.historyPoliceInforData = [] |
| | | this.heatMapData = [] |
| | | this.heatMapShow = false |
| | | |
| | | this.historyEmptyText = "" |
| | | |
| | | if (this.heatMap != null) { |
| | |
| | | jjdwbh = this.userInfo.dept_id |
| | | } |
| | | |
| | | getAlarmList({ ...params, size: 999, jjdwbh, type: 3, bjlx: this.policeInforValue }).then(res => { |
| | | getAlarmList({ ...params, jjdwbh, type: 3, bjlx: this.policeInforValue }).then(res => { |
| | | if (res.data.data.length > 0) { |
| | | this.historyPoliceInforData = res.data.data.map((item, index) => { |
| | | |
| | |
| | | this.realEmptyText = "暂无历史警情信息" |
| | | } |
| | | |
| | | this.addPoliceInforSiteLayer(this.historyPoliceInforData) |
| | | if (this.siteLayerShow) { |
| | | this.addPoliceInforSiteLayer(this.historyPoliceInforData) |
| | | } |
| | | |
| | | if (this.heatMapShow) { |
| | | this.heatMapData.length > 0 && this.addHeatmap(this.heatMapData) |
| | | } |
| | | |
| | | setTimeout(() => { |
| | | loading && loading.close() |