Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-11-30 15:18:29 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-12-05 15:23:32 |
| | | * @LastEditTime: 2023-01-30 15:22:52 |
| | | * @FilePath: \srs-police-affairs\src\api\dept\index.js |
| | | * @Description: |
| | | * |
| | |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description: 获取首页重点人员的数据 |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | export const getPersonInfo = (params) => { |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/keyPersonnelCount', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description: 获取首页重点人员列表信息 |
| | | * @param {*} params |
| | | * @return {*} |
| | | */ |
| | | export const getPersonInfoPage = (params) => { |
| | | return request({ |
| | | url: '/api/villagePersonInfo/villagePersonInfo/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 获取对应id下的派出所的责任区人口 |
| | | export const getVillagePersonStatisticInfoByPoliceStationId = (name, id) => { |
| | | return request({ |
| | |
| | | } |
| | | |
| | | // 获取该责任区下的人员列表信息 |
| | | export const getAreaPage = (current, areaId, policeName, phone) => { |
| | | export const getAreaPage = (current, areaId, policeName, phone, size) => { |
| | | return request({ |
| | | url: `/api/policeStationInfo/policeStationInfo/getAreaPage`, |
| | | method: 'get', |
| | |
| | | current, |
| | | areaId, |
| | | policeName, |
| | | phone |
| | | phone, |
| | | size |
| | | } |
| | | }) |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-12-27 14:19:19 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-13 17:42:10 |
| | | * @LastEditTime: 2023-01-30 10:04:22 |
| | | * @FilePath: \srs-police-affairs\src\api\home\index.js |
| | | * @Description: |
| | | * |
| | |
| | | phone |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | |
| | | import { loginByUsername,logout } from "@/api/login/login"; |
| | | import {Message} from 'element-ui' |
| | | import md5 from "js-md5"; |
| | | /* |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-12-27 09:33:01 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-30 11:52:22 |
| | | * @FilePath: \srs-police-affairs\src\store\modules\user.js |
| | | * @Description: |
| | | * |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | */ |
| | | import { loginByUsername, logout } from "@/api/login/login" |
| | | import { Message } from 'element-ui' |
| | | import md5 from "js-md5" |
| | | import * as auth from '@/utils/auth' |
| | | import {setStore, getStore} from '@/utils/store' |
| | | import { setStore, getStore } from '@/utils/store' |
| | | |
| | | const user = { |
| | | state: { |
| | | userInfo: getStore({name: 'userInfo'}) || [], |
| | | token: getStore({name: 'token'}) || '', |
| | | }, |
| | | actions: { |
| | | //根据用户名登录 |
| | | LoginByUsername({ commit }, loginForm) { |
| | | return new Promise((resolve, reject) => { |
| | | loginByUsername( |
| | | loginForm.tenantId, |
| | | loginForm.username, |
| | | md5(loginForm.password), |
| | | loginForm.type, |
| | | loginForm.key, |
| | | loginForm.code |
| | | ) |
| | | .then((res) => { |
| | | const data = res.data; |
| | | if (data.error_description) { |
| | | Message({ |
| | | message: data.error_description, |
| | | type: "error", |
| | | }); |
| | | //跳转首页 |
| | | this.$router.push({ path: "/login" }); |
| | | } else { |
| | | commit("SET_TOKEN", data.access_token); |
| | | commit('SET_USER_INFO', data); |
| | | } |
| | | resolve(); |
| | | }) |
| | | .catch((error) => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | state: { |
| | | userInfo: getStore({ name: 'userInfo' }) || [], |
| | | token: getStore({ name: 'token' }) || '', |
| | | }, |
| | | //登出 |
| | | LogOut({commit}) { |
| | | return new Promise((resolve, reject) => { |
| | | logout().then(() => { |
| | | commit('SET_TOKEN', ''); |
| | | auth.removeToken(); |
| | | auth.removeUserInfo(); |
| | | resolve(); |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | actions: { |
| | | //根据用户名登录 |
| | | LoginByUsername ({ commit }, loginForm) { |
| | | return new Promise((resolve, reject) => { |
| | | loginByUsername( |
| | | loginForm.tenantId, |
| | | loginForm.username, |
| | | md5(loginForm.password), |
| | | loginForm.type, |
| | | loginForm.key, |
| | | loginForm.code |
| | | ) |
| | | .then((res) => { |
| | | const data = res.data |
| | | if (data.error_description) { |
| | | Message({ |
| | | message: data.error_description, |
| | | type: "error", |
| | | }) |
| | | //跳转首页 |
| | | this.$router.push({ path: "/login" }) |
| | | } else { |
| | | commit("SET_TOKEN", data.access_token) |
| | | commit('SET_USER_INFO', data) |
| | | } |
| | | resolve() |
| | | }) |
| | | .catch((error) => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | | //登出 |
| | | LogOut ({ commit }) { |
| | | return new Promise((resolve, reject) => { |
| | | logout().then(() => { |
| | | commit('SET_TOKEN', '') |
| | | auth.removeToken() |
| | | auth.removeUserInfo() |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | }, |
| | | mutations:{ |
| | | SET_TOKEN: (state, token) => { |
| | | auth.setToken(token); |
| | | }, |
| | | SET_USER_INFO: (state, userInfo) => { |
| | | state.userInfo = userInfo; |
| | | auth.setUserInfo(state.userInfo) |
| | | setStore({name: 'userInfo', content: state.userInfo}) |
| | | }, |
| | | } |
| | | }; |
| | | mutations: { |
| | | SET_TOKEN: (state, token) => { |
| | | auth.setToken(token) |
| | | }, |
| | | SET_USER_INFO: (state, userInfo) => { |
| | | state.userInfo = userInfo |
| | | auth.setUserInfo(state.userInfo) |
| | | setStore({ name: 'userInfo', content: state.userInfo }) |
| | | }, |
| | | } |
| | | } |
| | | |
| | | export default user; |
| | | export default user |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | .person-box { |
| | | .back { |
| | | top: countSizeVh(96); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .bottom-container { |
| | |
| | | width: countSizeVw(180, 1920); |
| | | padding: countSizeVh(10); |
| | | border-radius: countSizeVh(8); |
| | | |
| | | .row-box { |
| | | line-height: countSizeVh(28); |
| | | |
| | | |
| | | .category { |
| | | width: countSizeVw(96, 1920); |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .person-box { |
| | | .back { |
| | | top: maxCountSizeVh(96); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .bottom-container { |
| | |
| | | </div>--> |
| | | </div> |
| | | <div class="sub-tab" v-show="peopletype == 0"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabType == 0 }" |
| | | @click="personTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 0 }" @click="personTabClick(0)"> |
| | | <div class="tab-title-small">户籍人口:</div> |
| | | <div class="tab-title-small">{{policeStationPersonInfo.total}}人</div> |
| | | <div class="tab-title-small">{{ policeStationPersonInfo.total }}人</div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabType == 1 }" |
| | | @click="personTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 1 }" @click="personTabClick(1)"> |
| | | <div class="tab-title-small">重点人员:</div> |
| | | <div class="tab-title-small">{{policeStationPersonInfo.emphasisNum}}人</div> |
| | | <div class="tab-title-small">{{ policeStationPersonInfo.emphasisNum }}人</div> |
| | | </div> |
| | | <!-- <div class="tab3" :class="{ 'select-on-tab': tabType == 2 }" @click="personTabClick(2)"> |
| | | <div class="num">91995人</div> |
| | |
| | | </div>--> |
| | | </div> |
| | | <div id="PersonEcharts" class="echarts-box"></div> |
| | | <div |
| | | class="back" |
| | | title="返回上一级" |
| | | v-show="dataDeep == 2 && peopletype == 0" |
| | | @click="backBegin" |
| | | ></div> |
| | | <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0" @click="backBegin"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <defs> |
| | | <path |
| | | id="border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | <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" |
| | | fill="transparent" |
| | | /> |
| | | <radialGradient |
| | | id="border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c" |
| | | cx="50%" |
| | | cy="50%" |
| | | r="50%" |
| | | > |
| | | 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" /> |
| | | <stop offset="100%" stop-color="#fff" stop-opacity="0" /> |
| | | </radialGradient> |
| | | <mask id="border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c"> |
| | | <circle |
| | | cx="0" |
| | | cy="0" |
| | | r="150" |
| | | fill="url(#border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c)" |
| | | > |
| | | <animateMotion |
| | | dur="8s" |
| | | <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" |
| | | rotate="auto" |
| | | repeatCount="indefinite" |
| | | /> |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | | </defs> |
| | | |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | <div class="box"> |
| | | <div class="title">现有房屋</div> |
| | | <div class="sub-tab"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeTwo == 0 }" |
| | | @click="houseTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 0 }" @click="houseTabClick(0)"> |
| | | <div class="tab-title-small">实有房屋:</div> |
| | | <div class="tab-title-small">182万户</div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeTwo == 1 }" |
| | | @click="houseTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 1 }" @click="houseTabClick(1)"> |
| | | <div class="tab-title-small">关注场所:</div> |
| | | <div class="tab-title-small">634个</div> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | <div class="box"> |
| | | <div class="title">现有地</div> |
| | | <div class="sub-tab"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeThree == 0 }" |
| | | @click="landTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 0 }" @click="landTabClick(0)"> |
| | | <div class="tab-title-small">小区:</div> |
| | | <div class="tab-title-small">{{villageNum}}个</div> |
| | | <div class="tab-title-small">{{ villageNum }}个</div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeThree == 1 }" |
| | | @click="landTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 1 }" @click="landTabClick(1)"> |
| | | <div class="tab-title-small">责任区:</div> |
| | | <div class="tab-title-small">{{areaNum}}个</div> |
| | | <div class="tab-title-small">{{ areaNum }}个</div> |
| | | </div> |
| | | </div> |
| | | <div id="landEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | <script> |
| | | import { fontSize } from '@/utils/fontSize.js' |
| | | import { getAreaStatisticInfo } from "@/api/home/index.js" |
| | | import { getVillagePersonStatisticInfo, getVillagePersonStatisticInfoByPoliceStationId } from "@/api/dept" |
| | | import { getVillagePersonStatisticInfo, getVillagePersonStatisticInfoByPoliceStationId, getPersonInfo, getPersonInfoPage } from "@/api/dept" |
| | | |
| | | let homePersonmyChart |
| | | let houseMyChart |
| | |
| | | const myLandColors = ['#4150d8', '#28bf7e', '#ed7c2f', '#f2a93b', '#f9cf36', '#4a5bdc', '#4cd698', '#f4914e', '#fcb75b', '#ffe180', '#b6c2ff', '#96edc1'] |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | data () { |
| | | return { |
| | | tabType: 0, |
| | |
| | | this.getPoliceStationInfo() |
| | | this.inithouseEcharts() |
| | | this.clickLandChart() |
| | | |
| | | setTimeout(() => { |
| | | console.log(this.userInfo.dept_id, 98999) |
| | | |
| | | }, 5000) |
| | | |
| | | this.$nextTick(() => { |
| | | window.addEventListener("resize", this.echartsResize) |
| | |
| | | }) |
| | | }, |
| | | |
| | | clickkeyPersonChart () { |
| | | keyPersonmyChart.on('click', params => { |
| | | let keyPersonDetailNewArr = [] |
| | | this.keyPersonSelectArr.some((item) => { |
| | | if (item.type == params.name) { |
| | | keyPersonDetailNewArr.push(item) |
| | | } |
| | | }) |
| | | this.$emit('showkeypersondetail', params.name, keyPersonDetailNewArr) |
| | | }) |
| | | }, |
| | | |
| | | initkeyPersonEcharts () { |
| | | /** |
| | | * @description: 初始化重点人员饼状图 |
| | | * @return {*} |
| | | */ |
| | | async initkeyPersonEcharts () { |
| | | var chartDom = document.getElementById('PersonEcharts') |
| | | keyPersonmyChart = this.$echarts.init(chartDom) |
| | | let dataArr = this.getKeyPersonCount(this.keyPersonSelectArr) |
| | | keyPersonmyChart.setOption(this.initkeyPersonOption(dataArr)) |
| | | |
| | | let personInfo = await this.getPersonInfo() |
| | | |
| | | keyPersonmyChart.setOption(this.initkeyPersonOption(personInfo)) |
| | | }, |
| | | /** |
| | | * @description: 调用接口获取重点人员数据 |
| | | * @return {*} |
| | | */ |
| | | getPersonInfo () { |
| | | const data = getPersonInfo({ deptId: this.userInfo.dept_id }).then(res => { |
| | | res.data = res.data.map(item => { |
| | | item = { |
| | | ...item, |
| | | name: item.zdryxl, |
| | | value: item.count |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | |
| | | return res.data |
| | | }) |
| | | |
| | | return data |
| | | }, |
| | | |
| | | /** |
| | | * @description: 重点人员饼状图渲染的options |
| | | * @param {*} dataArr |
| | | * @return {*} |
| | | */ |
| | | initkeyPersonOption (dataArr) { |
| | | return { |
| | | tooltip: { |
| | |
| | | } else { |
| | | msg = params.value + '人' |
| | | } |
| | | msg = ` <span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #5470c6;"></span> ${params.name}<strong style="margin-left:10px">${msg}</strong>'` |
| | | |
| | | msg = `${params.marker} ${params.name}<strong style="margin-left:10px">${msg}</strong>'` |
| | | return msg |
| | | } |
| | | }, |
| | | legend: { |
| | | type: 'scroll', |
| | | orient: 'vertical', |
| | | left: '45%', |
| | | y: '1%', |
| | | itemGap: 20, |
| | |
| | | y2: 20 |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * @description: 重点人员饼状图的点击事件 |
| | | * @return {*} |
| | | */ |
| | | async clickkeyPersonChart () { |
| | | keyPersonmyChart.on('click', async params => { |
| | | this.$emit('showkeypersondetail', params.name) |
| | | }) |
| | | /** |
| | | * @description: |
| | | * @return {*} |
| | | */ |
| | | }, |
| | | |
| | | selectPoliceChangeData (name) { |
| | |
| | | // colors = ['#7d65c0', '#a47db4', '#e0a8c5'] |
| | | // } |
| | | // homePersonmyChart.setOption(this.initPersonOptions(xDate, yDate, colors), true) |
| | | }, |
| | | |
| | | getKeyPersonCount (arr) { |
| | | let valueArr = [0, 0, 0, 0, 0, 0, 0] |
| | | arr.some(item => { |
| | | if (item.type == '涉恐人员') { |
| | | valueArr[0] = Number(valueArr[0]) + 1 |
| | | } else if (item.type == '涉稳人员') { |
| | | valueArr[1] = Number(valueArr[1]) + 1 |
| | | } else if (item.type == '涉毒人员') { |
| | | valueArr[2] = Number(valueArr[2]) + 1 |
| | | } else if (item.type == '在逃人员') { |
| | | valueArr[3] = Number(valueArr[3]) + 1 |
| | | } else if (item.type == '重大刑事犯罪前科人员') { |
| | | valueArr[4] = Number(valueArr[4]) + 1 |
| | | } else if (item.type == '肇事肇祸精神病人') { |
| | | valueArr[5] = Number(valueArr[5]) + 1 |
| | | } else if (item.type == '重点上访人员') { |
| | | valueArr[6] = Number(valueArr[6]) + 1 |
| | | } |
| | | }) |
| | | let KeyPersonDataArr = [ |
| | | { value: valueArr[0], name: '涉恐人员' }, |
| | | { value: valueArr[1], name: '涉稳人员' }, |
| | | { value: valueArr[2], name: '涉毒人员' }, |
| | | { value: valueArr[3], name: '在逃人员' }, |
| | | { value: valueArr[4], name: '重大刑事犯罪前科人员' }, |
| | | { value: valueArr[5], name: '肇事肇祸精神病人' }, |
| | | { value: valueArr[6], name: '重点上访人员' } |
| | | ] |
| | | return KeyPersonDataArr |
| | | }, |
| | | |
| | | selectAreaChangeData (name) { |
| | |
| | | .back { |
| | | color: #fff; |
| | | position: absolute; |
| | | top: 120px; |
| | | top: 96px; |
| | | right: 16px; |
| | | width: 20px; |
| | | height: 20px; |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | & > div:nth-of-type(2) { |
| | | &>div:nth-of-type(2) { |
| | | font-size: 14px; |
| | | } |
| | | } |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 22px; |
| | | line-height: 22px; |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-29 15:24:05 |
| | | * @LastEditTime: 2023-01-30 15:54:32 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="peopleTitle" :modal="true" :visible.sync="peopleVisible" :before-close="peopleBeforeClose" |
| | | <el-dialog :title="peopleTitle" :modal="true" :visible.sync="peopleVisible" :before-close="personInfoClose" |
| | | :close-on-click-modal="true" class="area-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible" |
| | | :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box"> |
| | | :before-close="personInfoClose" :close-on-click-modal="true" class="keyPerson-details-box"> |
| | | <div class="header"> |
| | | <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' }" |
| | | :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="zdryxl" label="重点人员类型"></el-table-column> |
| | | <el-table-column prop="realName" label="姓名"></el-table-column> |
| | | <el-table-column prop="address" label="地址"></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" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="handlePersonPageChange"></el-pagination> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="警情信息" :modal="true" :visible.sync="policeSituationVisible" |
| | |
| | | import geoJson from './444.json' |
| | | |
| | | import { getPanoramaList } from "@/api/panorama" |
| | | import { getAreaPage, getResidentialQuartersList } from '@/api/dept/index.js' |
| | | import { getAreaPage, getResidentialQuartersList, getPersonInfoPage } from '@/api/dept/index.js' |
| | | |
| | | import monitoringList from '@/assets/data/monitoring.js' |
| | | import leftContainer from './components/leftContainer' |
| | |
| | | import { getActAsPoliceList, getEquipmentPaging, getPoliceStationTree, getEquipmentAll, getLandDetail } from "@/api/home/index.js" |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | data () { |
| | | return { |
| | | houseLayerShow: true, |
| | |
| | | peopleInfoList: [], |
| | | peoplePage: { |
| | | total: 0, |
| | | pageSize: 0, |
| | | pageSize: 10, |
| | | currentPage: 1 |
| | | }, |
| | | peopleSearchQuery: { |
| | |
| | | this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id) |
| | | }, |
| | | |
| | | getPeopleInfoList (current, areaId, policeName, phone) { |
| | | getAreaPage(current, areaId, policeName, phone).then(res => { |
| | | getPeopleInfoList (current, areaId, policeName = '', phone = '') { |
| | | getAreaPage(current, areaId, policeName, phone, this.peoplePage.pageSize).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.peopleInfoList = res.data.data.records |
| | | this.peoplePage.total = res.data.data.total |
| | | this.peoplePage.pageSize = res.data.data.size |
| | | } |
| | | }) |
| | | }, |
| | |
| | | return flvAddress |
| | | }, |
| | | |
| | | showkeypersondetail (name, arr) { |
| | | this.keyPersonVisible = true |
| | | /** |
| | | * @description: 显示重点人员列表 |
| | | * @param {*} name 当前类别名称 |
| | | * @return {*} |
| | | */ |
| | | showkeypersondetail (name) { |
| | | this.keyPersonTitle = name |
| | | this.keyPersonDetailArr = arr |
| | | this.getPersonInfoPage() |
| | | this.keyPersonVisible = true |
| | | }, |
| | | |
| | | /** |
| | | * @description: 重点人员列表分页切换 |
| | | * @param {*} current 当前页 |
| | | * @return {*} |
| | | */ |
| | | handlePersonPageChange (current) { |
| | | this.peoplePage.currentPage = current |
| | | |
| | | this.getPersonInfoPage() |
| | | }, |
| | | |
| | | /** |
| | | * @description: 获取重点人员列表信息 |
| | | * @return {*} |
| | | */ |
| | | getPersonInfoPage () { |
| | | getPersonInfoPage({ |
| | | status: 2, |
| | | depaId: this.userInfo.dept_id, |
| | | zdryxl: this.keyPersonTitle, |
| | | realName: this.peoplePoliceName, |
| | | phone: this.peopleCallPhone, |
| | | current: this.peoplePage.currentPage, |
| | | size: this.peoplePage.pageSize |
| | | }).then(res => { |
| | | |
| | | this.peoplePage.total = res.data.data.total |
| | | this.keyPersonDetailArr = res.data.data.records |
| | | |
| | | }) |
| | | }, |
| | | |
| | | changeActivityType (type) { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 获取派出所和责任区数据 |
| | | */ |
| | |
| | | this.getLandDetail(this.landType, this.landDetailId, this.landPage.currentPage, this.policeName, this.callPhone) |
| | | }, |
| | | |
| | | /** |
| | | * @description: 列表弹框中的搜索 |
| | | * @return {*} |
| | | */ |
| | | searchPeopleDetail () { |
| | | this.peoplePage.currentPage = 1 |
| | | |
| | | if (this.peopleVisible == true) { |
| | | this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id, this.peoplePoliceName, this.peopleCallPhone) |
| | | } else if (this.keyPersonVisible == true) { |
| | | this.getPersonInfoPage() |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * @description: 列表弹框中的清除 |
| | | * @return {*} |
| | | */ |
| | | clearPeopleDetailSearchValue () { |
| | | this.peoplePoliceName = '' |
| | | this.peopleCallPhone = '' |
| | | this.peoplePage.currentPage = 1 |
| | | this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id) |
| | | |
| | | if (this.peopleVisible == true) { |
| | | this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id) |
| | | } else if (this.keyPersonVisible == true) { |
| | | this.getPersonInfoPage() |
| | | } |
| | | }, |
| | | |
| | | searchPeopleDetail () { |
| | | /** |
| | | * @description: 现有人员和重点人员列表弹窗关闭的事件 |
| | | * @return {*} |
| | | */ |
| | | personInfoClose () { |
| | | this.peoplePoliceName = '' |
| | | this.peopleCallPhone = '' |
| | | this.peoplePage.currentPage = 1 |
| | | this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id, this.peoplePoliceName, this.peopleCallPhone) |
| | | }, |
| | | |
| | | this.peopleInfoList = [] |
| | | this.keyPersonDetailArr = [] |
| | | |
| | | if (this.peopleVisible == true) { |
| | | this.peopleVisible = false |
| | | } else if (this.keyPersonVisible == true) { |
| | | this.keyPersonVisible = false |
| | | } |
| | | } |
| | | }, |
| | | |
| | | destroyed () { |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:24 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-16 15:50:43 |
| | | * @LastEditTime: 2023-01-30 14:46:08 |
| | | * @FilePath: \srs-police-affairs\src\views\layout\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | <script> |
| | | import { getUserInfo, getToken } from '@/utils/auth' |
| | | export default { |
| | | provide () { |
| | | return { |
| | | userInfo: JSON.parse(getUserInfo()) |
| | | } |
| | | }, |
| | | |
| | | data () { |
| | | return { |
| | | menuLeftList: [ |
| | |
| | | // 跳过登录方式 |
| | | //var path = params.path + "?token=" + getToken() |
| | | //账户名密码模拟登录方式 |
| | | var path = params.path + '?securitySupervisionSystem={"tokenMY":"987654321S","data":{"rese":"admin","sap":"admin","dip":"000000"}}' |
| | | var path = params.path + '?securitySupervisionSystem={"tokenMY":"987654321S","data":{"rese":"admin","sap":"admin","dip":"000000"}}' |
| | | // console.log(path,5555) |
| | | window.open(path) |
| | | return |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-15 16:03:00 |
| | | * @LastEditTime: 2023-01-30 11:45:29 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="equimentPage.pageSize" |
| | | you:page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" |
| | | :pager-count="4" |
| | | :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange" |
| | | pager-count="5" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |