guanqb
2023-02-10 87131e6a0f38b8506b3a2305b1140931cb2e734f
Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
8 files modified
321 ■■■■■ changed files
src/api/dept/index.js 39 ●●●●● patch | view | raw | blame | history
src/styles/base/index.scss 73 ●●●●● patch | view | raw | blame | history
src/styles/media/index.scss 5 ●●●●● patch | view | raw | blame | history
src/views/home/components/leftContainer.vue 4 ●●●● patch | view | raw | blame | history
src/views/home/components/rightContainer.vue 4 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 162 ●●●● patch | view | raw | blame | history
src/views/layout/index.vue 8 ●●●● patch | view | raw | blame | history
src/views/video/list.vue 26 ●●●●● patch | view | raw | blame | history
src/api/dept/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-11-30 15:18:29
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-03 11:50:17
 * @LastEditTime: 2023-02-10 10:22:04
 * @FilePath: \srs-police-affairs\src\api\dept\index.js
 * @Description:
 *
@@ -290,7 +290,27 @@
    })
}
// 获取该责任区下的人员列表信息
// 获取现有房屋
export const getHouseStatisticInfo = (deptId, isFollow) => {
    return request({
        url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`,
        method: 'get',
        params: {
            deptId,
            isFollow
        }
    })
}
/**
 * @description: 原来获取户籍人口下责任区-人口信息,已作废
 * @param {*} current
 * @param {*} areaId
 * @param {*} policeName
 * @param {*} phone
 * @param {*} size
 * @return {*}
 */
export const getAreaPage = (current, areaId, policeName, phone, size) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getAreaPage`,
@@ -303,17 +323,4 @@
            size
        }
    })
}
// 获取现有房屋
export const getHouseStatisticInfo = (deptId, isFollow) => {
    return request({
        url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`,
        method: 'get',
        params: {
            deptId,
            isFollow
        }
    })
}
}
src/styles/base/index.scss
@@ -241,8 +241,8 @@
        margin: 0 !important;
        display: flex;
        flex-direction: column;
        width: 700px;
        height: 400px;
        width: 1000px;
        height: 700px;
        top: 50%;
        left: 50% !important;
        transform: translate(-50%, -50%);
@@ -288,7 +288,8 @@
        display: flex;
        margin-bottom: 10px;
        padding-left: 10px;
        &>div{
        &>div {
            display: flex;
            height: 32px;
            line-height: 32px;
@@ -313,14 +314,17 @@
                color: rgba(238, 238, 238, 0.7);
            }
        }
        &>div:first-child input{
        &>div:first-child input {
            width: 120px;
        }
        .el-button--primary {
            background-color: rgba(29, 92, 228, 0.6);
            border: 1px solid rgba(29, 92, 228, 0.6);
        }
        .el-button{
        .el-button {
            padding: 6px 10px;
        }
@@ -356,28 +360,31 @@
        transform: translate(-50%, -50%);
        .el-dialog__header {
            height:40px;
            height: 40px;
            line-height: 40px;
        }
        .el-table__header-wrapper {
            height:60px;
            height: 60px;
            line-height: 60px;
        }
        .el-table .cell{
            font-size:  16px;
        .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 th.el-table__cell>.cell {
                font-size: 16px;
            }
        }
        .el-pagination.is-background .el-pager li:not(.disabled).active {
            color: #C0C4CC!important;
            color: #C0C4CC !important;
        }
@@ -385,7 +392,8 @@
            display: flex;
            margin-bottom: 10px;
            padding-left: 10px;
            &>div{
            &>div {
                display: flex;
                height: 32px;
                line-height: 32px;
@@ -410,14 +418,17 @@
                    color: rgba(238, 238, 238, 0.7);
                }
            }
            &>div:first-child input{
            &>div:first-child input {
                width: 120px;
            }
            .el-button--primary {
                background-color: rgba(29, 92, 228, 0.6);
                border: 1px solid rgba(29, 92, 228, 0.6);
            }
            .el-button{
            .el-button {
                padding: 6px 10px;
            }
@@ -437,39 +448,44 @@
        transform: translate(-50%, -50%);
        .el-dialog__header {
            height:40px;
            height: 40px;
            line-height: 40px;
        }
        .el-table__header-wrapper {
            height:60px;
            height: 60px;
            line-height: 60px;
        }
        .el-table .cell{
            font-size:  16px;
        .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 th.el-table__cell>.cell {
                font-size: 16px;
            }
        }
        .el-table {
            height: calc(100% - 40px);
            margin-bottom: 10px;
        }
        .el-pagination.is-background .el-pager li:not(.disabled).active {
            color: #C0C4CC!important;
            color: #C0C4CC !important;
        }
        .header {
            display: flex;
            margin-bottom: 10px;
            padding-left: 10px;
            &>div{
            &>div {
                display: flex;
                height: 32px;
                line-height: 32px;
@@ -494,17 +510,20 @@
                    color: rgba(238, 238, 238, 0.7);
                }
            }
            &>div:first-child input{
            &>div:first-child input {
                width: 120px;
            }
            .el-button--primary {
                background-color: rgba(29, 92, 228, 0.6);
                border: 1px solid rgba(29, 92, 228, 0.6);
            }
            .el-button{
            .el-button {
                padding: 6px 10px;
            }
        }
    }
}
@@ -759,4 +778,4 @@
.select-on-tab {
    box-shadow: 0 2px 2px $menu-tab-shadow;
    color: #fff;
}
}
src/styles/media/index.scss
@@ -1953,8 +1953,8 @@
                        }
                        .el-dialog {
                            width: countSizeVw(700, 1920);
                            height: countSizeVh(400);
                            width: countSizeVw(1000, 1920);
                            height: countSizeVh(700);
                        }
                        .el-dialog .el-dialog__header {
@@ -2298,7 +2298,6 @@
                        .el-table__body-wrapper {
                            height: calc(100% - countSizeVh(60));
                        }
                    }
                    .policeSituation-details-box {
src/views/home/components/leftContainer.vue
@@ -897,10 +897,6 @@
            keyPersonmyChart.on('click', async params => {
                this.$emit('showkeypersondetail', params.name)
            })
            /**
             * @description:
             * @return {*}
             */
        },
        /**
src/views/home/components/rightContainer.vue
@@ -176,8 +176,6 @@
        this.getHomeAllData()
        this.clickEquimentChart()
        this.$nextTick(() => {
            window.addEventListener("resize", this.echartsResize)
            this.tableHeight = this.$refs.Container.offsetHeight - this.$refs.caseBox.offsetHeight - this.$refs.crowdBox.offsetHeight - this.$refs.alertBoxTitle.offsetHeight - 62
@@ -482,6 +480,8 @@
            equipmentmyChart.setOption(this.initEquipmentOptions(newData))
            this.clickEquimentChart()
            if (newData.length > 1) {
                this.equipmentEchartsCarousel()
            } else {
src/views/home/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-09 10:07:57
 * @LastEditTime: 2023-02-10 11:20:36
 * @FilePath: \srs-police-affairs\src\views\home\index.vue
 * @Description: 小区-栋-层-房屋
 *
@@ -81,12 +81,13 @@
            </div>
        </el-dialog>
        <!-- 户籍人口 -->
        <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>
                    负责人:
                    <input type="text" v-model="peoplePoliceName" placeholder="请输入负责人名称" />
                    人员名称:
                    <input type="text" v-model="peoplePoliceName" placeholder="请输入人员名称" />
                </div>
                <div>
                    联系电话:
@@ -95,24 +96,55 @@
                <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="peopleInfoList" 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 label="序号" type="index" align="center">
                    <template slot-scope="scope">
                        <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="责任区名称"></el-table-column>
                <el-table-column prop="policeName" label="负责人"></el-table-column>
                <el-table-column prop="phone" label="联系电话"></el-table-column>
                <el-table-column prop="areaNum" 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="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="handlePeopleCurrentChange"></el-pagination>
            </div>
        </el-dialog>
        <!-- 重点人员 -->
        <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible"
            :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="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="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>
@@ -182,39 +214,6 @@
                <el-pagination background layout="prev, pager, next" :page-size="landPage.pageSize"
                    :total="landPage.total" :current-page="landPage.currentPage"
                    @current-change="landHandleCurrentChange"></el-pagination>
            </div>
        </el-dialog>
        <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible"
            :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="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="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>
@@ -449,7 +448,7 @@
import geoJson from './444.json'
import { getPanoramaList } from "@/api/panorama"
import { getAreaPage, getResidentialQuartersList, getPersonInfoPage } from '@/api/dept/index.js'
import { getResidentialQuartersList, getPersonInfoPage } from '@/api/dept/index.js'
import monitoringList from '@/assets/data/monitoring.js'
import leftContainer from './components/leftContainer'
@@ -1057,6 +1056,7 @@
                })
            } else {
                this.policeSituationDetailObj = e
                this.policeInformationType = '接警信息'
                this.policeSituationVisible = true
            }
        },
@@ -1154,7 +1154,6 @@
            }
        },
        /**
         * @description: 计算多个多边形面中心点
@@ -1425,27 +1424,6 @@
            this.$refs.RegionSelect.style.left = (bodyWidth - domWidth) / 2 + 'px'
        },
        showpeopledetail (id, name) {
            this.peopleTitle = name
            this.peopleVisible = true
            this.peopleSearchQuery.id = id
            this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id)
        },
        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
                }
            })
        },
        handlePeopleCurrentChange (currentPage) {
            this.peoplePage.currentPage = currentPage
            this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id, this.peoplePoliceName, this.peopleCallPhone)
        },
        showlanddetail (name, type, id) {
            this.landVisible = true
            this.landTitle = name
@@ -1554,13 +1532,36 @@
        },
        /**
         * @description: 显示户籍人口列表
         * @param {*} id
         * @param {*} name
         * @return {*}
         */
        showpeopledetail (id, name) {
            this.peopleTitle = name
            this.peopleSearchQuery.id = id
            this.getPersonInfoPage(1)
            this.peopleVisible = true
        },
        /**
         * @description: 户籍人口列表分页切换
         * @param {*} currentPage
         * @return {*}
         */
        handlePeopleCurrentChange (currentPage) {
            this.peoplePage.currentPage = currentPage
            this.getPersonInfoPage(1)
        },
        /**
         * @description: 显示重点人员列表
         * @param {*} name 当前类别名称
         * @return {*}
         */
        showkeypersondetail (name) {
            this.keyPersonTitle = name
            this.getPersonInfoPage()
            this.getPersonInfoPage(2)
            this.keyPersonVisible = true
        },
@@ -1572,18 +1573,19 @@
        handlePersonPageChange (current) {
            this.peoplePage.currentPage = current
            this.getPersonInfoPage()
            this.getPersonInfoPage(2)
        },
        /**
         * @description: 获取重点人员列表信息
         * @return {*}
         */
        getPersonInfoPage () {
        getPersonInfoPage (status) {
            getPersonInfoPage({
                status: 2,
                status,
                depaId: this.userInfo.dept_id,
                zdryxl: this.keyPersonTitle,
                areaId: status === 2 ? '' : this.peopleSearchQuery.id,
                zdryxl: status === 2 ? this.keyPersonTitle : '',
                realName: this.peoplePoliceName,
                phone: this.peopleCallPhone,
                current: this.peoplePage.currentPage,
@@ -1591,7 +1593,11 @@
            }).then(res => {
                this.peoplePage.total = res.data.data.total
                this.keyPersonDetailArr = res.data.data.records
                if (status === 2) {
                    this.keyPersonDetailArr = res.data.data.records
                } else {
                    this.peopleInfoList = res.data.data.records
                }
            })
        },
@@ -1706,9 +1712,9 @@
            this.peoplePage.currentPage = 1
            if (this.peopleVisible == true) {
                this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id, this.peoplePoliceName, this.peopleCallPhone)
                this.getPersonInfoPage(1)
            } else if (this.keyPersonVisible == true) {
                this.getPersonInfoPage()
                this.getPersonInfoPage(2)
            }
        },
@@ -1722,9 +1728,9 @@
            this.peoplePage.currentPage = 1
            if (this.peopleVisible == true) {
                this.getPeopleInfoList(this.peoplePage.currentPage, this.peopleSearchQuery.id)
                this.getPersonInfoPage(1)
            } else if (this.keyPersonVisible == true) {
                this.getPersonInfoPage()
                this.getPersonInfoPage(2)
            }
        },
src/views/layout/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:24
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-09 14:49:23
 * @LastEditTime: 2023-02-09 16:50:28
 * @FilePath: \srs-police-affairs\src\views\layout\index.vue
 * @Description: 
 * 
@@ -155,11 +155,11 @@
                    childrenFlag: false,
                    children: [
                        {
                            menuName: '点位查询',
                            menuName: '视频预览',
                            path: '/layout/video/list'
                        },
                        {
                            menuName: '视频巡查',
                            menuName: '视频巡逻',
                            path: '/layout/video/region'
                        }
                    ]
@@ -172,7 +172,7 @@
                    menuName: '运维管理',
                    openExternal: true,
                    // 内网
                    // path: 'http://10.141.11.11:8081/#/'
                    // path: 'http://10.141.11.11:8081/#/security/security'
                    // 外网
                    path: 'http://192.168.0.109:1888/#/security/security'
                }
src/views/video/list.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-09 14:51:52
 * @LastEditTime: 2023-02-10 10:49:34
 * @FilePath: \srs-police-affairs\src\views\video\list.vue
 * @Description: 辖区管理
 * 
@@ -616,11 +616,14 @@
            let data = null
            let parentId = null
            let sourceId = null
            if (type == 1 || type == 2) {
                parentId = 361102
                sourceId = 36110202
            } else {
                parentId = node.data.id
                sourceId = node.data.sourceId
            }
            await getTreeDevices({
@@ -631,7 +634,7 @@
                parentId,
                deptId: this.userInfo.dept_id,
                type,
                sourceId: type == 4 ? '' : '36110202',
                sourceId,
            }).then(res => {
                data = res.data.data
@@ -897,6 +900,25 @@
            :deep(.el-scrollbar) {
                height: 100%;
            }
            .custom-tree-node {
                display: flex;
                align-items: center;
                .status-box {
                    margin: auto;
                    margin-right: 6px;
                    width: 10px;
                    height: 10px;
                    text-align: center;
                    border-radius: 50%;
                    background-color: #adadad;
                }
                .online {
                    background-color: #4ccc7d;
                }
            }
        }
    }