| | |
| | | } |
| | | |
| | | } |
| | | |
| | | .body { |
| | | .el-table { |
| | | height: 100% !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="phone" label="电话"></el-table-column> |
| | | <!-- <el-table-column :show-overflow-tooltip="true" prop="policeStationName" label="所属派出所"></el-table-column> --> |
| | | <!-- <el-table-column :show-overflow-tooltip="true" prop="areaName" label="所属责任区"></el-table-column> --> |
| | | <el-table-column label="操作" align="center" :min-width="typeValue == 0 || typeValue == 2 ? '30%' : '18%'"> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="etxt" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | <el-button :disabled="positionDisabled(scope.row)" @click="rowClick(scope.row)" type="text" |
| | | size="small" title="定位"> |
| | | <i class="el-icon-location" :color="positionColor(scope.row)"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | } |
| | | }, |
| | | |
| | | computed: { |
| | | positionColor () { |
| | | return (row) => { |
| | | if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) { |
| | | return "#fff" |
| | | } else { |
| | | return "#ccc" |
| | | } |
| | | } |
| | | }, |
| | | |
| | | positionDisabled () { |
| | | return (row) => { |
| | | if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) { |
| | | return false |
| | | } else { |
| | | return true |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | showkeypersondetail (name) { |
| | | this.curLoading = true |
| | |
| | | <el-dialog :title="landTitle" :modal="true" :visible.sync="landVisible" :before-close="landBeforeClose" |
| | | :close-on-click-modal="true" class="land-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | | <div v-show="landType == 2"> |
| | | 小区名称: |
| | | <input type="text" v-model="landSearchAoiName" placeholder="请输入小区名称" /> |
| | | </div> |
| | | <div v-show="landType == 1"> |
| | | 责任区名称: |
| | | <input type="text" v-model="landSearchAoiName" placeholder="请输入责任区名称" /> |
| | | </div> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="name" label="责任区名称" |
| | | v-if="this.landType == 1"></el-table-column> |
| | | v-if="landType == 1"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="aoiName" label="小区名称" |
| | | v-if="this.landType == 2"></el-table-column> |
| | | v-if="landType == 2"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="policeName" label="负责人"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="phone" label="联系电话"></el-table-column> |
| | | </el-table> |
| | |
| | | getLandDetail (type, id, current, policeName = '', phone = '', aoiName = '') { |
| | | this.curLoading = true |
| | | |
| | | const name = type == 1 ? { |
| | | name: aoiName |
| | | } : { |
| | | aoiName |
| | | } |
| | | |
| | | getLandDetail({ |
| | | type, |
| | | policeStationId: this.policeStaionID == '1123598813738675201' || this.policeStaionID == '' ? id : '', |
| | |
| | | current, |
| | | policeName, |
| | | phone, |
| | | aoiName, |
| | | ...name, |
| | | size: this.landPage.pageSize |
| | | }).then(res => { |
| | | this.landDetailArr = [] |
| | |
| | | <defs> |
| | | <path id="border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | d="M0.27,0.03c52.66,0,105.34,0,158,0c1.67,2,3.33,4,5,6c1,0.33,2,0.67,3,1c1.33,1.67,2.67,3.33,4,5 |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | fill="transparent" /> |
| | | <radialGradient id="border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c" cx="50%" cy="50%" r="50%"> |
| | | <stop offset="0%" stop-color="#fff" stop-opacity="1" /> |
| | |
| | | <circle cx="0" cy="0" r="150" fill="url(#border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c)"> |
| | | <animateMotion dur="8s" |
| | | path="M0.27,0.03c52.66,0,105.34,0,158,0c1.67,2,3.33,4,5,6c1,0.33,2,0.67,3,1c1.33,1.67,2.67,3.33,4,5 |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0 |
| | | c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0 |
| | | c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0 |
| | | c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | |
| | | // var num = myColor.length |
| | | // return myColor[params.dataIndex % num] |
| | | // }, |
| | | cursor: this.userInfo.dept_id != '1596020515064381442' ? 'default' : 'pointer', |
| | | color: '#ed7c2f', |
| | | label: { |
| | | show: true, //开启显示 |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-09 17:13:32 |
| | | * @LastEditTime: 2023-04-02 14:07:15 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | data() { |
| | | data () { |
| | | return { |
| | | emptyText: '', |
| | | navType: 0, |
| | |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | created () { |
| | | window.addEventListener('resize', this.setTableHeight) |
| | | |
| | | this.$nextTick(() => { |
| | |
| | | }) |
| | | }, |
| | | |
| | | mounted() { |
| | | mounted () { |
| | | this.$parent.$parent.resize('400px', true) |
| | | |
| | | this.navClick() |
| | | |
| | | tc = new global.DC.TrackController(global.viewer) |
| | | |
| | | this.$nextTick(() => { |
| | | tc = new global.DC.TrackController(global.viewer) |
| | | this.setTableHeight() |
| | | }) |
| | | }, |
| | | |
| | | methods: { |
| | | // 搜索框改变事件 |
| | | searchChange() { |
| | | searchChange () { |
| | | this.detailFlag = false |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | |
| | | }, |
| | | |
| | | // 设备分页处理 |
| | | handleCurrentChange(currentPage) { |
| | | handleCurrentChange (currentPage) { |
| | | this.equimentPage.currentPage = currentPage |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | |
| | | // 获取设备分页数据 |
| | | getEquipmentPaging(params) { |
| | | getEquipmentPaging (params) { |
| | | this.equimentTableData = [] |
| | | this.equimentLoading = true |
| | | this.emptyText = "" |
| | |
| | | }, |
| | | |
| | | // 类别切换 |
| | | navClick(type) { |
| | | navClick (type) { |
| | | if (type && type == this.navType) return |
| | | this.detailFlag = false |
| | | |
| | |
| | | }, |
| | | |
| | | // 表格行点击查看定位 |
| | | rowClick(row) { |
| | | rowClick (row) { |
| | | if (row.lng == 0 || row.lat == 0) { |
| | | this.$message.error('暂无位置信息!') |
| | | |
| | |
| | | }, |
| | | |
| | | // 表格行点击查看轨迹 |
| | | equipmentTrack(row) { |
| | | equipmentTrack (row) { |
| | | this.detailFlag = true |
| | | |
| | | this.currentSelectEquipment = row |
| | | }, |
| | | |
| | | async play(row) { |
| | | async play (row) { |
| | | this.videoPlayShow = true |
| | | |
| | | if (this.flvPlayer != null) { |
| | |
| | | } |
| | | }, |
| | | |
| | | async getDevices(channelId) { |
| | | async getDevices (channelId) { |
| | | let flvAddress = '' |
| | | await getDevices(channelId).then(res => { |
| | | if ('data' in res.data) { |
| | |
| | | return flvAddress |
| | | }, |
| | | |
| | | siteClick(e) { |
| | | siteClick (e) { |
| | | this.play(e.overlay.attrParams) |
| | | }, |
| | | |
| | | dialogBeforeClose() { |
| | | dialogBeforeClose () { |
| | | this.$refs.videoElement.pause() |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | // 轨迹返回 |
| | | goBack() { |
| | | goBack () { |
| | | this.detailFlag = !this.detailFlag |
| | | this.trackTime = [] |
| | | |
| | |
| | | }, |
| | | |
| | | // 查看轨迹 |
| | | async lookTrack() { |
| | | async lookTrack () { |
| | | global.viewer.scene.globe.depthTestAgainstTerrain = false |
| | | |
| | | if (this.trackTime.length == 0) { |
| | |
| | | }, |
| | | |
| | | // 处理时间补零操作 |
| | | disposeTime(s) { |
| | | disposeTime (s) { |
| | | return s < 10 ? '0' + s : s |
| | | }, |
| | | |
| | | setTableHeight() { |
| | | setTableHeight () { |
| | | this.currentTableHeight = this.$refs.tableBox.offsetHeight - this.$refs.tablePagination.offsetHeight |
| | | }, |
| | | |
| | | // 大小重置 |
| | | boxResize(val) { |
| | | boxResize (val) { |
| | | this.boxShow = val |
| | | }, |
| | | |
| | | async getHistoricalTrack(params) { |
| | | async getHistoricalTrack (params) { |
| | | let positionArr = [] |
| | | |
| | | await getHistoricalTrack(params).then(res => { |
| | |
| | | }, |
| | | |
| | | // 大搜 |
| | | getSearchExtensively(ak, region, query) { |
| | | getSearchExtensively (ak, region, query) { |
| | | getSearchExtensively(ak, region, query).then(res => { |
| | | this.searchExtensivelyArray = res.data.result |
| | | }) |
| | | }, |
| | | |
| | | searchExtensivelyClick() { |
| | | searchExtensivelyClick () { |
| | | this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.searchExtensivelyValue) |
| | | this.searchExtensivelyValBoxShow = false |
| | | if (this.searchExtensivelyArray.length > 0) { |
| | |
| | | } |
| | | }, |
| | | |
| | | searchExtensivelyChange() { |
| | | searchExtensivelyChange () { |
| | | if (this.searchExtensivelyValue == '') { |
| | | this.searchExtensivelyValBoxShow = false |
| | | this.isShowClearBtn = false |
| | |
| | | }) |
| | | }, |
| | | |
| | | searchExtensivelyVlaClick(item) { |
| | | searchExtensivelyVlaClick (item) { |
| | | this.searchExtensivelyValBoxShow = false |
| | | this.searchExtensivelyValue = item.name |
| | | this.$EventBus.$emit('toPosition', { |
| | |
| | | }) |
| | | }, |
| | | |
| | | searchExtensivelyFocus() { |
| | | searchExtensivelyFocus () { |
| | | this.searchExtensivelyValBoxShow = true |
| | | this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.searchExtensivelyValue) |
| | | }, |
| | | |
| | | clearSearchValue() { |
| | | clearSearchValue () { |
| | | this.searchExtensivelyValue = '' |
| | | this.searchExtensivelyChange() |
| | | } |
| | | }, |
| | | |
| | | destroyed() { |
| | | destroyed () { |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'carLayers', |
| | | type: 'VectorLayer' |
| | |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | tc.pause() |
| | | if (tc && tc != null && tc != undefined) { |
| | | tc.pause() |
| | | |
| | | tc.removeTrack(track) |
| | | tc.removeTrack(track) |
| | | } |
| | | |
| | | window.removeEventListener('resize', this.setTableHeight) |
| | | |
| | |
| | | proxy: { |
| | | "/api": { |
| | | // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址 |
| | | // target: "http://localhost:82", |
| | | target: "http://192.168.0.103:82", |
| | | target: "http://localhost:82", |
| | | // target: "http://192.168.0.103:82", |
| | | // target: "http://17.20.10.3:82", |
| | | // target: "http://10.141.11.11:8081/api", |
| | | // ws: true, //启用webSocket6566 |