Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
| | |
| | | .el-date-range-picker .el-picker-panel__body { |
| | | min-width: 513px; |
| | | } |
| | | .el-date-range-picker { |
| | | .el-date-range-picker { |
| | | margin: 0; |
| | | } |
| | | .el-date-range-picker__header { |
| | |
| | | } |
| | | .el-card__body, |
| | | .el-main { |
| | | padding: 20px; |
| | | padding: 0px; |
| | | } |
| | | .el-rate { |
| | | height: 20px; |
| | |
| | | |
| | | // 视频监控平台 |
| | | // 本地开发 |
| | | VUE_APP_OUTER_NET_VIDEO: 'http://192.168.0.126:18185/api', |
| | | VUE_APP_OUTER_NET_VIDEO: 'http://192.168.0.100: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', |
| | |
| | | // global.viewer.scene.morphTo2D(1) |
| | | |
| | | // 清除控制台 |
| | | console.clear() |
| | | // console.clear() |
| | | |
| | | function isEleFullScreen () { |
| | | const fullScreenEle = |
| | |
| | | } |
| | | |
| | | .list-show { |
| | | height: calc(100% - countSizeVh(50)); |
| | | // height: calc(100% - countSizeVh(50)); |
| | | |
| | | .search-box { |
| | | padding: countSizeVh(6) countSizeVw(6, 1920); |
| | |
| | | } |
| | | |
| | | .pages { |
| | | height: countSizeVh(40); |
| | | height: countSizeVh(80); |
| | | |
| | | &>div { |
| | | &>button { |
| | |
| | | <div class="type">境外人口</div> |
| | | </div>--> |
| | | </div> |
| | | <div id="PersonEcharts" class="echarts-box"> |
| | | </div> |
| | | <el-main v-loading="personEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div id="PersonEcharts" class="echarts-box"> |
| | | </div> |
| | | </el-main> |
| | | |
| | | |
| | | <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0 && showBack" @click="backBegin"> |
| | | </div> |
| | |
| | | <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> |
| | |
| | | <div class="tab-title-small">{{ keyPlaceNum ? keyPlaceNum : 0 }}栋</div> |
| | | </div> |
| | | </div> |
| | | <div id="houseEcharts" class="echarts-box"></div> |
| | | <el-main v-loading="houseEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div id="houseEcharts" class="echarts-box"></div> |
| | | </el-main> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="landEcharts" class="echarts-box"></div> |
| | | <el-main v-loading="landEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div id="landEcharts" class="echarts-box"></div> |
| | | </el-main> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | |
| | | data () { |
| | | return { |
| | | tabType: 0, |
| | | personEchartsLoading: false, |
| | | houseEchartsLoading: false, |
| | | landEchartsLoading: false, |
| | | peopletype: 0, |
| | | tabTypeTwo: 0, |
| | | tabTypeThree: 0, |
| | |
| | | personTabClick (type) { |
| | | this.tabType = type |
| | | this.dataDeep = 1 |
| | | this.personEchartsLoading = true |
| | | |
| | | this.disposeEchart() |
| | | |
| | |
| | | this.getPoliceStationInfo() |
| | | |
| | | } else { |
| | | |
| | | this.getVillagePersonStatisticInfoByPoliceStationId(this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id) |
| | | |
| | | } |
| | | |
| | | |
| | | } else if (type == 1) { |
| | | |
| | | this.initkeyPersonEcharts() |
| | | |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | /** |
| | |
| | | //异步,因此放进接口方法内部 |
| | | this.initPersonEcharts() |
| | | this.clickPeopleChart() |
| | | setTimeout(() => { |
| | | this.personEchartsLoading = false |
| | | }, 500) |
| | | } |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | | this.personEchartsLoading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | homePersonmyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | homePersonmyChart.hideLoading() |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | }, 500) |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | this.clickPeopleChart() |
| | | |
| | | setTimeout(() => { this.dataDeep = 2 }, 1000) |
| | | setTimeout(() => { |
| | | this.dataDeep = 2, |
| | | this.personEchartsLoading = false |
| | | }, 1000) |
| | | |
| | | } |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | | this.personEchartsLoading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | homePersonmyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | homePersonmyChart.hideLoading() |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, ['#06B5D7', '#44C0C1', '#71C8B1'])) |
| | | }, 500) |
| | | homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, ['#06B5D7', '#44C0C1', '#71C8B1'])) |
| | | }, |
| | | |
| | | /** |
| | |
| | | if (xDate.length == 0) { |
| | | options = { |
| | | title: { |
| | | text: '暂无数据', |
| | | text: '暂无数据1', |
| | | x: 'center', |
| | | y: 'center', |
| | | textStyle: { |
| | |
| | | } else { |
| | | this.inithouseEcharts(xDate, yDate) |
| | | } |
| | | setTimeout(() => { |
| | | this.houseEchartsLoading = false |
| | | }, 500) |
| | | this.clickHouseChart() |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | | this.houseEchartsLoading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | |
| | | inithouseEcharts (xDate, yDate) { |
| | | var chartDom = document.getElementById('houseEcharts') |
| | | houseMyChart = this.$echarts.init(chartDom) |
| | | houseMyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | houseMyChart.hideLoading() |
| | | houseMyChart.setOption(this.initHouseOptions(xDate, yDate)) |
| | | }, 500) |
| | | houseMyChart.setOption(this.initHouseOptions(xDate, yDate)) |
| | | }, |
| | | |
| | | initHouseOptions (xDate, y1Date, y2Date) { |
| | |
| | | }, |
| | | |
| | | houseTabClick (type) { |
| | | this.tabTypeTwo = type |
| | | |
| | | this.houseEchartsLoading = true |
| | | |
| | | this.disposeHouseEchart() |
| | | if (type == 0) { |
| | | this.getHouseStatisticInfo(2) |
| | | } else { |
| | | this.getHouseStatisticInfo(1) |
| | | } |
| | | }, |
| | | |
| | | initLandOptions (xDate, yDate) { |
| | |
| | | siteJd: center[0], |
| | | siteWd: center[1] |
| | | }) |
| | | this.personEchartsLoading = true |
| | | this.getVillagePersonStatisticInfoByPoliceStationId(params.data.id) |
| | | } else { |
| | | this.$emit('showpeopledetail', params.data.id, params.data.name) |
| | |
| | | |
| | | if (this.userInfo.dept_id == '1596020515064381442') { |
| | | personInfo = [{ count: 8, name: '征地拆迁群体', value: 8 }, { count: 4, name: '非涉法涉诉重点个访人员', value: 4 }, { count: 4, name: '涉法涉诉重点个访人员', value: 4 }, { count: 1, name: '楼盘业主维权群体', value: 1 }] |
| | | |
| | | } |
| | | |
| | | keyPersonmyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | keyPersonmyChart.hideLoading() |
| | | keyPersonmyChart.setOption(this.initkeyPersonOption(personInfo)) |
| | | }, 500) |
| | | keyPersonmyChart.setOption(this.initkeyPersonOption(personInfo)) |
| | | |
| | | this.clickkeyPersonChart() |
| | | setTimeout(() => { |
| | | this.personEchartsLoading = false |
| | | }, 500) |
| | | }, |
| | | |
| | | /** |
| | |
| | | if (dataArr.length == 0) { |
| | | options = { |
| | | title: { |
| | | text: '暂无数据', |
| | | text: '暂无数据1', |
| | | x: 'center', |
| | | y: 'center', |
| | | textStyle: { |
| | |
| | | */ |
| | | landTabClick (type) { |
| | | this.tabTypeThree = type |
| | | this.landEchartsLoading = true |
| | | |
| | | this.disposeLandEchart() |
| | | if (type == 0) { |
| | |
| | | }) |
| | | landData = [nameArr, countArr] |
| | | } |
| | | setTimeout(() => { |
| | | this.landEchartsLoading = false |
| | | }, 500) |
| | | |
| | | this.initLandEcharts(landData) |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | | this.landEchartsLoading = false |
| | | }, 500) |
| | | }) |
| | | }, |
| | | |
| | |
| | | |
| | | landMyChart = this.$echarts.init(chartDom) |
| | | |
| | | landMyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | landMyChart.hideLoading() |
| | | landMyChart.setOption(this.initLandOptions(landData[0], landData[1])) |
| | | }, 500) |
| | | landMyChart.setOption(this.initLandOptions(landData[0], landData[1])) |
| | | |
| | | this.clickLandChart() |
| | | }, |
| | |
| | | } |
| | | } |
| | | |
| | | :deep(.el-main) { |
| | | padding: 0; |
| | | } |
| | | |
| | | .echarts-box { |
| | | padding: 12px; |
| | | padding-top: 0; |
| | | flex: 1; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | |
| | | <el-table size="small" :height="tableHeight" :data="schedulingList" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center' }" |
| | | :cell-style="{ 'text-align': 'center', borderColor: '#324e75' }" :row-class-name="tableRowClassName" |
| | | empty-text="暂无值班信息"> |
| | | empty-text="暂无值班信息" v-loading="schedulingLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <el-table-column prop="dept" label="值班单位"></el-table-column> |
| | | <el-table-column prop="person" label="姓名"></el-table-column> |
| | | <el-table-column prop="contact" label="联系方式"></el-table-column> |
| | |
| | | <div class="table-box" v-show="showMJL"> |
| | | <el-table size="small" :height="tableHeight" :data="schedulingList" style="width: 100%" |
| | | :show-header="false" :header-cell-style="{ 'text-align': 'center' }" |
| | | :cell-style="{ 'text-align': 'center', borderColor: '#324e75' }" |
| | | :row-class-name="tableRowClassName"> |
| | | :cell-style="{ 'text-align': 'center', borderColor: '#324e75' }" :row-class-name="tableRowClassName" |
| | | v-loading="schedulingLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <el-table-column :show-overflow-tooltip="true" v-for="(item, index) in transTitle" :label="item" |
| | | :key="index" align="center"> |
| | | <template slot-scope="scope"> |
| | |
| | | :picker-options="pickerOptions"></el-date-picker> |
| | | </div> |
| | | </div> |
| | | <div id="EventChangeEcharts" class="echarts-box"></div> |
| | | <el-main v-loading="eventChangeEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div id="EventChangeEcharts" class="echarts-box"></div> |
| | | </el-main> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | |
| | | <span :class="{ choosed: linetype == 1 }" @click="initEquipmentEcharts(1)">设备状态</span> |
| | | </div> |
| | | </div> |
| | | <div style="overflow: hidden" id="EquipmentEcharts" class="echarts-box"></div> |
| | | <el-main v-loading="equipmentEchartsLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div style="overflow: hidden" id="EquipmentEcharts" class="echarts-box"></div> |
| | | </el-main> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | |
| | | data () { |
| | | return { |
| | | eventTime: [], |
| | | equipmentEchartsLoading: false, |
| | | eventChangeEchartsLoading: false, |
| | | schedulingLoading: false, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | |
| | | |
| | | getSchedulingList () { |
| | | console.log(this.userInfo, 4567) |
| | | this.schedulingLoading = true |
| | | if (this.userInfo.dept_id == "1596020515064381442") { |
| | | const data = [ |
| | | { |
| | |
| | | })] |
| | | }) |
| | | |
| | | |
| | | this.$nextTick(() => { |
| | | this.tableHeight = |
| | | this.$refs.Container.offsetHeight - |
| | |
| | | this.schedulingList = res.data.data.records |
| | | }) |
| | | } |
| | | setTimeout(() => { |
| | | this.schedulingLoading = false |
| | | }, 1000) |
| | | }, |
| | | |
| | | echartsResize () { |
| | |
| | | |
| | | // 初始化案件统计 |
| | | async initEventChangeEcharts () { |
| | | this.eventChangeEchartsLoading = true |
| | | var chartDom = document.getElementById("EventChangeEcharts") |
| | | |
| | | if ( |
| | |
| | | |
| | | const optionsData = await this.getCaseAll(date[0], date[1]) |
| | | |
| | | eventchangemychart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | |
| | | eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yData)) |
| | | |
| | | setTimeout(() => { |
| | | eventchangemychart.hideLoading() |
| | | eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yData)) |
| | | this.eventChangeEchartsLoading = false |
| | | }, 500) |
| | | }, |
| | | |
| | |
| | | |
| | | let data = [] |
| | | this.regionTotal = 0 |
| | | |
| | | const dataAll = getEquipment( |
| | | let dataAll = null |
| | | dataAll = getEquipment( |
| | | this.policeStaionID != "" ? this.policeStaionID : this.userInfo.dept_id |
| | | ).then((res) => { |
| | | if (this.linetype == 0) { |
| | |
| | | |
| | | return data |
| | | } |
| | | }).catch(res => { |
| | | dataAll = '请求错误' |
| | | }) |
| | | |
| | | return dataAll |
| | |
| | | // 现有设备饼图初始化 |
| | | async initEquipmentEcharts (type) { |
| | | this.linetype = type |
| | | this.equipmentEchartsLoading = true |
| | | |
| | | if ( |
| | | equipmentmyChart != null && |
| | |
| | | |
| | | const data = await this.getEquipment() |
| | | |
| | | if (data == '请求错误') { |
| | | setTimeout(() => { |
| | | this.equipmentEchartsLoading = false |
| | | }, 500) |
| | | } |
| | | const newData = data.filter((item) => { |
| | | if (item.value != 0) { |
| | | return item |
| | | } |
| | | }) |
| | | |
| | | equipmentmyChart.showLoading({ |
| | | text: '拼命加载中', |
| | | color: '#c23531', |
| | | textColor: '#FFF', |
| | | maskColor: 'rgba(0, 0, 0, 0.2)', |
| | | zlevel: 0, |
| | | }) |
| | | setTimeout(() => { |
| | | equipmentmyChart.hideLoading() |
| | | equipmentmyChart.setOption(this.initEquipmentOptions(newData)) |
| | | }, 500) |
| | | |
| | | equipmentmyChart.setOption(this.initEquipmentOptions(newData)) |
| | | |
| | | this.clickEquimentChart() |
| | | |
| | |
| | | equipmentmyChart.off("mouseover") |
| | | equipmentmyChart.off("mouseout") |
| | | } |
| | | setTimeout(() => { |
| | | this.equipmentEchartsLoading = false |
| | | }, 500) |
| | | }, |
| | | |
| | | // 现有设备options饼图数据 |
| | |
| | | // margin-left: 8px; |
| | | // } |
| | | |
| | | |
| | | :deep(.el-main) { |
| | | padding: 0; |
| | | } |
| | | |
| | | .box { |
| | | display: flex; |
| | | position: absolute; |
| | |
| | | .echarts-box { |
| | | padding: 12px; |
| | | flex: 1; |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | |
| | | .table-box { |
| | |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | | :deep(.el-table .cell) { |
| | | white-space: pre-line; |
| | | } |
| | | } |
| | | |
| | | #peopleList { |
| | |
| | | <el-dialog :title="panoramaTitle" :modal="true" :visible.sync="panoramaVisible" :before-close="panoramaBeforeClose" |
| | | :close-on-click-modal="true" class="panorama-details-box"> |
| | | <!-- <iframe src="http://vr.jxpskj.com/JXSFKZQJ/QJ/" style="width: 100%; height: 100%;" frameborder="0"></iframe>--> |
| | | <iframe :src="panoramaVrUrl" style="width: 100%; height: 100%;" frameborder="0" /> |
| | | <iframe :src="panoramaVrUrl" style="width: 100%; height: 100%;" frameborder="0"></iframe> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="phoneTitle" :modal="true" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" |
| | |
| | | </div> |
| | | |
| | | <el-main v-loading="peopleKeypeopleLoading" element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" element-e-background="rgba(0, 0, 0, 0.2)"> |
| | | element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <el-table :data="peopleInfoList" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'default' }" |
| | |
| | | <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible" :before-close="personInfoClose" |
| | | :close-on-click-modal="true" class="keyPerson-details-box"> |
| | | <!-- <div class="header" v-show="!isMaoJiaLin"> |
| | | <div> |
| | | 人员名称: |
| | | <input type="text" v-model="peoplePoliceName" placeholder="请输入人员名称" /> |
| | | </div> |
| | | <div> |
| | | 联系电话: |
| | | <input type="text" v-model="peopleCallPhone" placeholder="请输入联系电话" /> |
| | | </div> |
| | | <el-button type="primary" icon="el-icon-search" @click="searchPeopleDetail">搜索</el-button> |
| | | <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue">清空</el-button> |
| | | </div> --> |
| | | <div> |
| | | 人员名称: |
| | | <input type="text" v-model="peoplePoliceName" placeholder="请输入人员名称" /> |
| | | </div> |
| | | <div> |
| | | 联系电话: |
| | | <input type="text" v-model="peopleCallPhone" placeholder="请输入联系电话" /> |
| | | </div> |
| | | <el-button type="primary" icon="el-icon-search" @click="searchPeopleDetail">搜索</el-button> |
| | | <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue">清空</el-button> |
| | | </div> --> |
| | | |
| | | <el-table :data="keyPersonDetailArr" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | |
| | | </el-table> |
| | | |
| | | <!-- <div class="pages all-pagination-sty" ref="tablePagination" v-show="!isMaoJiaLin"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="handlePersonPageChange"></el-pagination> |
| | | </div> --> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="handlePersonPageChange"></el-pagination> |
| | | </div> --> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="equimentTitle" :modal="true" :visible.sync="equimentVisible" :before-close="equimentBeforeClose" |
| | |
| | | <div class="two"> |
| | | <div> |
| | | <div>98</div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div> |
| | | <div style="color:#0E88FF">20</div> |
| | | <div>流动人口</div> |
| | | </div> |
| | |
| | | </div> |
| | | <div> |
| | | <div>120</div> |
| | | <div>出租</div> |
| | | <div>出租</div> |
| | | </div> |
| | | <div>160</div> |
| | | <div>自住</div> |
| | | </div> |
| | | <div>8</div> |
| | | <div> |
| | | <div>空置</div> |
| | | </div> |
| | | </div> |
| | | <div>160</div> |
| | | <div>自住</div> |
| | | </div> |
| | | <div>8</div> |
| | | <div> |
| | | <div>空置</div> |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | </div>--> |
| | | <div class="house-element-info" v-if="isShowHouseBox"> |
| | | <!-- 选择单元 --> |
| | | <div class="condo" v-show="isShowUnitChoose"> |
| | |
| | | <div> |
| | | <span class="zizhu"></span> |
| | | 自住 |
| | | </div> |
| | | <div> |
| | | <span class="kongzhi"></span> |
| | | 空置 |
| | | </div> |
| | | <div> |
| | | <span class="shangye"></span> |
| | | 商业 |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <span class="kongzhi"></span> |
| | | 空置 |
| | | </div> |
| | | <div> |
| | | <span class="shangye"></span> |
| | | 商业 |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | </div>--> |
| | | <el-main v-loading="pictLoading" element-loading-background="rgba(17, 38, 163, .1)" |
| | | element-loading-text="数据正在加载中" element-loading-spinner="el-icon-loading" |
| | | v-show="isShowHouseBox"> |
| | |
| | | <!-- :class="[{ 'chuzu': value.houseType == '出租' }, { 'zizhu': value.houseType == '自住' }, { 'kongzhi': value.houseType == '空置' }, { 'shangye': value.houseType == '商业' }]" --> |
| | | {{ value.properties.fojcu }} |
| | | <!-- <div class="flow"></div> |
| | | <div class="focus"></div> |
| | | <div class="warning"></div>--> |
| | | <div class="focus"></div> |
| | | <div class="warning"></div>--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | if (current.hasChildren == true) return |
| | | this.filterText = '' |
| | | this.prop = current.name |
| | | this.searchTreeName = current.name |
| | | if (current.type == 3) { |
| | | this.searchTreeName = current.name |
| | | } |
| | | if (circleLayer && circleLayer != null && circleLayer != undefined) { |
| | | circleLayer.clear() |
| | | circleLayer.remove() |
| | |
| | | <div class="police-page container"> |
| | | <div v-show="boxShow" class="container-content"> |
| | | <el-main v-loading="equimentLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.2)"> |
| | | <div class="switch-box" v-show="!detailFlag && !equimentLoading"> |
| | | element-loading-background="rgba(0, 0, 0, 0.2)" style="overflow: hidden;padding: 0px;"> |
| | | <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" |
| | |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="list-show" v-if="!detailFlag && !equimentLoading"> |
| | | <div class="list-show" v-if="!detailFlag"> |
| | | <div class="search-box"> |
| | | 资源名称: |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> |
| | |
| | | <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | <div slot="empty" style="text-align: center;">{{ emptyText }}</div> |
| | | <el-table-column label="操作" align="center" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '30%' : '18%'"> |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination" style="padding-top:-15px"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | data () { |
| | | data() { |
| | | return { |
| | | emptyText: '', |
| | | navType: 0, |
| | | equimentLoading: false, |
| | | dialogTitle: '', |
| | |
| | | equimentTableData: [], |
| | | equimentPage: { |
| | | total: 0, |
| | | pageSize: 25, |
| | | pageSize: 22, |
| | | count: 0, |
| | | currentPage: 1 |
| | | }, |
| | |
| | | } |
| | | }, |
| | | |
| | | created () { |
| | | created() { |
| | | window.addEventListener('resize', this.setTableHeight) |
| | | |
| | | this.$nextTick(() => { |
| | |
| | | }) |
| | | }, |
| | | |
| | | mounted () { |
| | | mounted() { |
| | | this.$parent.$parent.resize('400px', true) |
| | | |
| | | this.navClick() |
| | |
| | | |
| | | methods: { |
| | | // 搜索框改变事件 |
| | | searchChange () { |
| | | searchChange() { |
| | | this.detailFlag = false |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | |
| | | }) |
| | | |
| | | this.equimentPage.currentPage = 1 |
| | | this.equimentPage.count = 0 |
| | | // this.equimentTableData = [] |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | |
| | | layerName: 'policeMonitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | this.equimentLoading = true |
| | | |
| | | // 查询分页数据 |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | |
| | | // 设备分页处理 |
| | | handleCurrentChange (currentPage) { |
| | | handleCurrentChange(currentPage) { |
| | | this.equimentPage.currentPage = currentPage |
| | | |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | |
| | | // 获取设备分页数据 |
| | | getEquipmentPaging (params) { |
| | | setTimeout(() => { |
| | | this.equimentLoading = false |
| | | }, 1000) |
| | | getEquipmentPaging(params) { |
| | | this.equimentTableData = [] |
| | | this.equimentLoading = true |
| | | this.emptyText = "" |
| | | getEquipmentPaging({ page: this.equimentPage.currentPage, count: this.equimentPage.pageSize, ...params, query: this.searchValue, dwbh: this.userInfo.dept_id }).then(res => { |
| | | this.equimentTableData = [] |
| | | this.equimentPage.count = 0 |
| | | |
| | | var total = res.data.data.total |
| | | console.log(total, 6666) |
| | | if (total == 0) { |
| | | if (this.navType == 0) { |
| | | this.emptyText = "暂无警车数据" |
| | | } |
| | | if (this.navType == 1) { |
| | | this.emptyText = "暂无摄像头数据" |
| | | } |
| | | if (this.navType == 2) { |
| | | this.emptyText = "暂无手台数据" |
| | | } |
| | | if (this.navType == 3) { |
| | | this.emptyText = "暂无执法记录仪数据" |
| | | } |
| | | } |
| | | if (res.data.data.list.length > 0) { |
| | | this.equimentTableData = res.data.data.list.map(item => { |
| | | let newName = '' |
| | |
| | | incident: this.siteClick |
| | | }) |
| | | } else if (this.navType == 2) { |
| | | |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'policeMonitoringLayers', |
| | | type: 'billboard', |
| | |
| | | } |
| | | }) |
| | | |
| | | |
| | | this.equimentPage.count = res.data.data.pages |
| | | this.equimentLoading = false |
| | | } else { |
| | | this.equimentTableData = [] |
| | | |
| | | this.equimentPage.total = 0 |
| | | this.equimentLoading = false |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | |
| | | // 类别切换 |
| | | 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' |
| | |
| | | :deep(.el-main) { |
| | | padding: 0; |
| | | width: 100%; |
| | | overflow: hidden !important; |
| | | ; |
| | | } |
| | | } |
| | | |
| | |
| | | proxy: { |
| | | "/api": { |
| | | // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址 |
| | | target: "http://localhost:82", |
| | | // target: "http://192.168.0.100:82", |
| | | // target: "http://localhost:82", |
| | | target: "http://192.168.0.100:82", |
| | | // target: "http://17.20.10.3:82", |
| | | // target: "http://10.141.11.11:8081/api", |
| | | // ws: true, //启用webSocket6566 |