shuishen
2023-04-02 a297b33d6e76c872bbd59d0d90da4688661c4cda
登录及首页部分调整
6 files modified
2 files added
894 ■■■■ changed files
src/store/modules/user.js 29 ●●●●● patch | view | raw | blame | history
src/styles/base/index.scss 114 ●●●●● patch | view | raw | blame | history
src/styles/media/index.scss 47 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/areaDetailsBox.vue 165 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/keyPersonBox.vue 217 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/landDetailsBox.vue 10 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 293 ●●●●● patch | view | raw | blame | history
src/views/login/index.vue 19 ●●●● patch | view | raw | blame | history
src/store/modules/user.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-12-27 09:33:01
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-20 15:53:27
 * @LastEditTime: 2023-04-02 12:18:26
 * @FilePath: \srs-police-affairs\src\store\modules\user.js
 * @Description: 
 * 
@@ -38,25 +38,28 @@
                )
                    .then((res) => {
                        const data = res.data
                        if (data.error_description) {
                            Message({
                                message: data.error_description,
                                type: "error",
                            })
                        if (res.status != 200) {
                            if (data.error_description) {
                                Message({
                                    message: data.error_description,
                                    type: "error",
                                })
                                reject(res)
                            } else {
                                Message({
                                    message: '系统异常,请联系管理员',
                                    type: "error",
                                })
                                reject(res)
                            }
                        }
                        // else if (res.status != 200) {
                        //     Message({
                        //         message: '系统异常,请联系管理员',
                        //         type: "error",
                        //     })
                        // }
                        else {
                            commit("SET_TOKEN", data.access_token)
                            commit('SET_USER_INFO', data)
                            commit('SET_REFRESH_TOKEN', data.refresh_token)
                            commit('SET_TENANT_ID', data.tenant_id)
                            resolve()
                        }
                        resolve()
                    })
                    .catch((error) => {
                        reject(error)
src/styles/base/index.scss
@@ -221,107 +221,6 @@
}
.area-details-box {
    .el-dialog {
        display: flex;
        flex-direction: column;
        width: 1000px;
        height: 700px;
        .el-dialog__header {
            height: 56px;
            line-height: 56px;
        }
        .el-dialog__body {
            flex: 1;
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            justify-self: flex-start;
            align-content: flex-start;
            .item {
                display: flex;
                flex-direction: row;
                width: calc(50% - 20px);
                height: 36px;
                line-height: 36px;
                margin: 0 10px;
                text-align: left;
                &>div:first-child {
                    width: 100px;
                    text-align: justify;
                    display: inline-block;
                    text-align-last: justify;
                    margin-right: 20px;
                }
                &>div:nth-of-type(2) {
                    width: calc(100% - 120px);
                }
            }
            button:hover {
                background-color: #409EFF;
            }
        }
        .el-card__body,
        .el-main {
            padding: 0;
            width: 100%;
        }
    }
    .header {
        display: flex;
        margin-bottom: 10px;
        padding-left: 10px;
        &>div {
            display: flex;
            height: 32px;
            line-height: 32px;
            margin-right: 10px;
            input {
                width: 150px;
                height: 32px;
                font-size: 12px;
                text-indent: 1em;
                color: #ffffff;
                background-color: rgba(24, 79, 202, 0.6);
                border: 1px solid rgb(0, 92, 169);
                border-radius: 5px;
            }
            input:focus {
                outline: none;
            }
            input::-webkit-input-placeholder {
                color: rgba(238, 238, 238, 0.7);
            }
        }
        &>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 {
            padding: 6px 10px;
        }
    }
}
.equiment-details-box {
    .el-dialog {
        display: flex;
@@ -346,7 +245,7 @@
    }
}
.area-details-box,
.land-details-box {
    .el-dialog {
        display: flex;
@@ -370,12 +269,6 @@
        .el-pagination.is-background .el-pager li:not(.disabled).active {
            color: #C0C4CC !important;
        }
        .el-card__body,
        .el-main {
            padding: 0;
            width: 100%;
        }
        .header {
@@ -418,6 +311,11 @@
                border: 1px solid rgba(29, 92, 228, 0.6);
            }
            .el-button--primary:hover {
                background: #66b1ff !important;
                border-color: #66b1ff !important;
            }
            .el-button {
                padding: 6px 10px;
            }
src/styles/media/index.scss
@@ -2011,52 +2011,7 @@
                        }
                    }
                    .area-details-box {
                        .el-dialog__header span {
                            font-size: countSizeVh(18);
                        }
                        .el-dialog .el-dialog__body {
                            font-size: countSizeVh(16);
                        }
                        .el-dialog__header button {
                            font-size: countSizeVh(18);
                            right: countSizeVw(10, 1920);
                        }
                        .el-dialog {
                            width: countSizeVw(1000, 1920);
                            height: countSizeVh(720);
                        }
                        .el-dialog .el-dialog__header {
                            height: countSizeVh(40);
                            line-height: countSizeVh(40);
                        }
                        .el-dialog .el-dialog__body .item {
                            width: calc(50% - countSizeVw(20, 1920));
                            height: countSizeVh(36);
                            line-height: countSizeVh(36);
                            margin: 0 countSizeVw(10, 1920);
                        }
                        .el-dialog .el-dialog__body {
                            padding: 0 countSizeVh(10);
                        }
                        .el-dialog .el-dialog__body .item>div:first-child {
                            width: countSizeVw(100, 1920);
                            margin-right: countSizeVw(20, 1920);
                        }
                        .el-dialog .el-dialog__body .item>div:nth-of-type(2) {
                            width: calc(100% - countSizeVw(120, 1920));
                        }
                    }
                    .area-details-box,
                    .land-details-box {
                        .el-dialog {
                            width: countSizeVw(1000, 1920);
src/views/home/components/dialog/areaDetailsBox.vue
New file
@@ -0,0 +1,165 @@
<template>
    <!-- 户籍人口 -->
    <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="请输入人员名称" />
            </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 v-loading="curLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
            element-loading-background="rgba(0, 0, 0, 0.2)" class="body">
            <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-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 :show-overflow-tooltip="true" prop="realName" label="姓名"></el-table-column>
                <el-table-column :show-overflow-tooltip="true" prop="address" label="地址" min-width="240%"></el-table-column>
                <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>
            <div class="pages all-pagination-sty" ref="tablePagination">
                <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize"
                    :total="peoplePage.total" :current-page="peoplePage.currentPage"
                    @current-change="handlePeopleCurrentChange"></el-pagination>
            </div>
        </div>
    </el-dialog>
</template>
<script>
import { getPersonInfoPage } from '@/api/dept/index.js'
export default {
    inject: ['userInfo'],
    props: ['policeStaionID'],
    data () {
        return {
            curLoading: false,
            peopleTitle: '',
            peopleVisible: false,
            peoplePoliceName: '',
            peopleCallPhone: '',
            peopleInfoList: [],
            peoplePage: {
                total: 0,
                pageSize: 12,
                currentPage: 1
            },
            peopleSearchQuery: {
                id: "",
                policeName: "",
                phone: "",
            },
        }
    },
    methods: {
        /**
         * @description: 现有人员和重点人员列表弹窗关闭的事件
         * @return {*}
         */
        personInfoClose () {
            this.peoplePoliceName = ''
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            this.peopleInfoList = []
            this.peopleVisible = false
        },
        /**
         * @description: 列表弹框中的搜索
         * @return {*}
         */
        searchPeopleDetail () {
            this.peoplePage.currentPage = 1
            this.getPersonInfoPage(1)
        },
        /**
         * @description: 列表弹框中的清除
         * @return {*}
         */
        clearPeopleDetailSearchValue () {
            this.peoplePoliceName = ''
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            this.getPersonInfoPage(1)
        },
        /**
         * @description: 户籍人口列表分页切换
         * @param {*} currentPage
         * @return {*}
         */
        handlePeopleCurrentChange (currentPage) {
            this.peoplePage.currentPage = currentPage
            this.getPersonInfoPage(1)
        },
        /**
         * @description: 获取重点人员列表信息
         * @return {*}
         */
        getPersonInfoPage (status) {
            this.curLoading = true
            getPersonInfoPage({
                status,
                depaId: this.userInfo.dept_id,
                areaId: this.peopleSearchQuery.id,
                realName: this.peoplePoliceName,
                phone: this.peopleCallPhone,
                current: this.peoplePage.currentPage,
                size: this.peoplePage.pageSize
            }).then(res => {
                this.peopleInfoList = []
                this.peoplePage.total = 0
                if (res.data.data.records.length > 0) {
                    this.peoplePage.total = res.data.data.total
                    this.peopleInfoList = res.data.data.records
                } else {
                    this.peopleInfoList = []
                    this.peoplePage.total = 0
                }
                setTimeout(() => {
                    this.curLoading = false
                }, 500)
            })
        },
        showpeopledetail (id, name) {
            this.peopleTitle = name
            this.peopleSearchQuery.id = id
            this.getPersonInfoPage(1)
            this.peopleVisible = true
        }
    },
}
</script>
<style lang="scss" scoped></style>
src/views/home/components/dialog/keyPersonBox.vue
New file
@@ -0,0 +1,217 @@
<template>
    <!-- 重点人员 -->
    <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 v-loading="curLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
            element-loading-background="rgba(0, 0, 0, 0.2)" class="body">
            <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': 'default' }"
                v-show="!isMaoJiaLin">
                <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 :show-overflow-tooltip="true" prop="zdryxl" label="重点人员类型"></el-table-column>
                <el-table-column :show-overflow-tooltip="true" prop="realName" label="姓名"></el-table-column>
                <el-table-column :show-overflow-tooltip="true" prop="address" label="地址" min-width="240%"></el-table-column>
                <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%'">
                    <template slot-scope="scope">
                        <el-button @click="rowClick(scope.row)" type="etxt" size="small" title="定位">
                            <i class="el-icon-location"></i>
                        </el-button>
                    </template>
                </el-table-column>
            </el-table>
        </div>
        <!-- <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-dialog>
</template>
<script>
import { keypeopleJSON } from '../../homeleft/keyPeople'
import { getPersonInfoPage } from '@/api/dept/index.js'
export default {
    inject: ['userInfo'],
    props: ['policeStaionID'],
    data () {
        return {
            curLoading: false,
            peoplePoliceName: '',
            keyPersonTitle: '',
            keyPersonVisible: false,
            keyPersonDetailArr: [],
            peoplePage: {
                total: 0,
                pageSize: 15,
                currentPage: 1
            },
            isMaoJiaLin: false,
        }
    },
    methods: {
        showkeypersondetail (name) {
            this.curLoading = true
            this.keyPersonVisible = true
            this.keyPersonTitle = name
            if (this.userInfo.dept_id == '1596020515064381442') {
                if (name == '征地拆迁群体') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('征地拆迁群体') != -1
                    })
                } else if (name == '非涉法涉诉重点个访人员') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('非涉法涉诉重点个访人员') != -1
                    })
                } else if (name == '涉法涉诉重点个访人员') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('涉法涉诉重点个访人员') != -1
                    })
                } else if (name == '楼盘业主维权群体') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('楼盘业主维权群体') != -1
                    })
                }
                setTimeout(() => {
                    this.curLoading = false
                }, 500)
            } else {
                this.getPersonInfoPage(2)
            }
        },
        rowClick (row) {
            if (row.X == '' || row.Y == '') {
                this.$message({
                    message: '暂无位置信息',
                    type: 'warning'
                })
                return
            }
            this.$EventBus.$emit('toPosition', {
                layerName: 'carLayers',
                siteJd: row.X,
                siteWd: row.Y
            })
            this.keyPersonVisible = false
        },
        /**
         * @description: 现有人员和重点人员列表弹窗关闭的事件
         * @return {*}
         */
        personInfoClose () {
            this.peoplePoliceName = ''
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            this.keyPersonDetailArr = []
            this.keyPersonVisible = false
        },
        /**
         * @description: 列表弹框中的搜索
         * @return {*}
         */
        searchPeopleDetail () {
            this.peoplePage.currentPage = 1
            this.getPersonInfoPage(2)
        },
        /**
         * @description: 列表弹框中的清除
         * @return {*}
         */
        clearPeopleDetailSearchValue () {
            this.peoplePoliceName = ''
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            this.getPersonInfoPage(2)
        },
        /**
         * @description: 重点人员列表分页切换
         * @param {*} current 当前页
         * @return {*}
         */
        handlePersonPageChange (current) {
            this.peoplePage.currentPage = current
            this.getPersonInfoPage(2)
        },
        /**
         * @description: 获取重点人员列表信息
         * @return {*}
         */
        getPersonInfoPage (status) {
            getPersonInfoPage({
                status,
                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.keyPersonDetailArr = []
                this.peoplePage.total = 0
                if (res.data.data.records.length > 0) {
                    this.peoplePage.total = res.data.data.total
                    this.keyPersonDetailArr = res.data.data.records
                } else {
                    this.keyPersonDetailArr = []
                    this.peoplePage.total = 0
                }
                setTimeout(() => {
                    this.curLoading = false
                }, 500)
            })
        },
    },
}
</script>
<style lang="scss" scoped></style>
src/views/home/components/dialog/landDetailsBox.vue
@@ -17,7 +17,7 @@
            <el-button type="primary" icon="el-icon-search" @click="searchLandDetail">搜索</el-button>
            <el-button type="primary" icon="el-icon-delete" @click="clearLandDetailSearchValue">清空</el-button>
        </div>
        <div v-loading="landLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
        <div v-loading="curLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
            element-loading-background="rgba(0, 0, 0, 0.2)" class="body">
            <el-table :data="landDetailArr" style="width: 100%"
@@ -53,7 +53,7 @@
    data () {
        return {
            landLoading: false,
            curLoading: false,
            landVisible: false,
            landTitle: '',
            landType: '',
@@ -61,7 +61,7 @@
            callPhone: '',
            landPage: {
                total: 0,
                pageSize: 15,
                pageSize: 12,
                currentPage: 1
            },
            // 现有小区搜索条件-小区名称
@@ -117,7 +117,7 @@
        getLandDetail (type, id, current, policeName = '', phone = '', aoiName = '') {
            this.landLoading = true
            this.curLoading = true
            getLandDetail({
                type,
@@ -140,7 +140,7 @@
                    this.landPage.total = 0
                }
                setTimeout(() => {
                    this.landLoading = false
                    this.curLoading = false
                }, 500)
            })
        },
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-04-01 21:49:23
 * @LastEditTime: 2023-04-02 13:49:16
 * @FilePath: \srs-police-affairs\src\views\home\index.vue
 * @Description: 小区-栋-层-房屋
 *
@@ -83,97 +83,8 @@
            </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="请输入人员名称" />
                </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-main v-loading="peopleKeypeopleLoading" element-loading-text="拼命加载中"
                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' }"
                    v-show="!peopleKeypeopleLoading">
                    <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 :show-overflow-tooltip="true" prop="realName" label="姓名"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="address" label="地址"
                        min-width="240%"></el-table-column>
                    <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>
                <div class="pages all-pagination-sty" ref="tablePagination" v-show="!peopleKeypeopleLoading">
                    <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize"
                    :total="peoplePage.total" :current-page="peoplePage.currentPage"
                    @current-change="handlePeopleCurrentChange"></el-pagination>
            </div>
        </el-main>
    </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" 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> -->
            <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': 'default' }"
                v-show="!isMaoJiaLin" v-loading="keyPeopleLoading" element-loading-text="拼命加载中"
                element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.2)">>
                <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 :show-overflow-tooltip="true" prop="zdryxl" label="重点人员类型"></el-table-column>
                <el-table-column :show-overflow-tooltip="true" prop="realName" label="姓名"></el-table-column>
                <el-table-column :show-overflow-tooltip="true" prop="address" label="地址" min-width="240%"></el-table-column>
                <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%'">
                <template slot-scope="scope">
                    <el-button @click="rowClick(scope.row)" type="etxt" size="small" title="定位">
                            <i class="el-icon-location"></i>
                        </el-button>
                    </template>
                </el-table-column>
            </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-dialog>
        <el-dialog :title="equimentTitle" :modal="true" :visible.sync="equimentVisible" :before-close="equimentBeforeClose"
            :close-on-click-modal="true" class="equiment-details-box"
@@ -387,6 +298,8 @@
        </el-dialog>
        <land-details-box ref="landDetailsBox" :policeStaionID="policeStaionID"></land-details-box>
        <area-details-box ref="areaDetailsBox" :policeStaionID="policeStaionID"></area-details-box>
        <key-person-box ref="keyPersonBox" :policeStaionID="policeStaionID"></key-person-box>
    </div>
</template>
@@ -497,7 +410,7 @@
import { schoolJSON } from './homeleft/school'
import { getPanoramaList } from "@/api/panorama"
import { getResidentialQuartersList, getPersonInfoPage } from '@/api/dept/index.js'
import { getResidentialQuartersList } from '@/api/dept/index.js'
import monitoringList from '@/assets/data/monitoring.js'
import leftContainer from './components/leftContainer'
@@ -514,6 +427,8 @@
import { getTalkEquimentPage, getPoliceCameraEquimentPage } from '@/api/home/equiment.js'
import landDetailsBox from './components/dialog/landDetailsBox.vue'
import areaDetailsBox from './components/dialog/areaDetailsBox.vue'
import keyPersonBox from './components/dialog/keyPersonBox.vue'
import { initMapPosition } from '@/utils/mapPositionInit'
@@ -525,9 +440,7 @@
            xxPopupShow: false,
            houseLoading: false,
            houseArr: [],
            keyPeopleLoading: false,
            equimentLoading: false,
            peopleKeypeopleLoading: false,
            // 是否显示辖区
            areaPolygonLayerShow: true,
            selectAllClass: false,
@@ -542,30 +455,16 @@
            panoramaTitle: '',
            panoramaVrUrl: '',
            equimentTitle: '',
            keyPersonTitle: '',
            panoramaVisible: false,
            equimentVisible: false,
            keyPersonVisible: false,
            policeSituationVisible: false,
            policeInformationType: '接警信息',
            phoneDetails: {},
            phoneTitle: '',
            peopleTitle: '',
            peopleId: "",
            phoneVisible: false,
            peopleVisible: false,
            peopleInfoList: [],
            peoplePage: {
                total: 0,
                pageSize: 15,
                currentPage: 1
            },
            peopleSearchQuery: {
                id: "",
                policeName: "",
                phone: "",
            },
            houseList: [],
            monitoringList: [],
@@ -602,7 +501,6 @@
            dialogEquimentVideoTitle: '',
            dialogEquimentVideoVisible: false,
            keyPersonDetailArr: [],
            timetype: 0,
            historyArr: [],
            underwayArr: [],
@@ -611,22 +509,16 @@
            policeSituationDetailObj: {},
            CJdata: {},
            peoplePoliceName: '',
            peopleCallPhone: '',
            // 当前下拉选中的ID
            policeStaionID: '',
            flvPlayer: null,
            videoPlayShow: false,
            isMaoJiaLin: false,
        }
    },
    components: { leftContainer, rightContainer, bottomContainer, schedulingList, landDetailsBox },
    components: { leftContainer, rightContainer, bottomContainer, schedulingList, landDetailsBox, areaDetailsBox, keyPersonBox },
    created () {
        const that = this
@@ -708,27 +600,7 @@
    },
    methods: {
        rowClick (row) {
            if (row.X == '' || row.Y == '') {
                this.$message({
                    message: '暂无位置信息',
                    type: 'warning'
                })
                return
            }
            this.$EventBus.$emit('toPosition', {
                layerName: 'carLayers',
                siteJd: row.X,
                siteWd: row.Y
            })
            this.keyPersonVisible = false
        },
        landRowClick (row) {
            console.log(row, 1112233)
            if (row.x == '' || row.y == '') {
                this.$message({
                    message: '暂无位置信息',
@@ -1872,21 +1744,7 @@
         * @return {*}
         */
        showpeopledetail (id, name) {
            this.peopleTitle = name
            this.peopleSearchQuery.id = id
            this.peopleKeypeopleLoading = true
            this.getPersonInfoPage(1)
            this.peopleVisible = true
        },
        /**
         * @description: 户籍人口列表分页切换
         * @param {*} currentPage
         * @return {*}
         */
        handlePeopleCurrentChange (currentPage) {
            this.peoplePage.currentPage = currentPage
            this.getPersonInfoPage(1)
            this.$refs.areaDetailsBox.showpeopledetail(id, name)
        },
        /**
@@ -1895,82 +1753,7 @@
         * @return {*}
         */
        showkeypersondetail (name) {
            this.keyPersonVisible = true
            this.keyPeopleLoading = true
            this.keyPersonTitle = name
            if (this.userInfo.dept_id == '1596020515064381442') {
                if (name == '征地拆迁群体') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('征地拆迁群体') != -1
                    })
                } else if (name == '非涉法涉诉重点个访人员') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('非涉法涉诉重点个访人员') != -1
                    })
                } else if (name == '涉法涉诉重点个访人员') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('涉法涉诉重点个访人员') != -1
                    })
                } else if (name == '楼盘业主维权群体') {
                    this.keyPersonDetailArr = keypeopleJSON.filter(item => {
                        return item.zdryxl.indexOf('楼盘业主维权群体') != -1
                    })
                }
            } else {
                this.getPersonInfoPage(2)
            }
        },
        /**
         * @description: 重点人员列表分页切换
         * @param {*} current 当前页
         * @return {*}
         */
        handlePersonPageChange (current) {
            this.peoplePage.currentPage = current
            this.getPersonInfoPage(2)
        },
        /**
         * @description: 获取重点人员列表信息
         * @return {*}
         */
        getPersonInfoPage (status) {
            getPersonInfoPage({
                status,
                depaId: this.userInfo.dept_id,
                areaId: status === 2 ? '' : this.peopleSearchQuery.id,
                zdryxl: status === 2 ? this.keyPersonTitle : '',
                realName: this.peoplePoliceName,
                phone: this.peopleCallPhone,
                current: this.peoplePage.currentPage,
                size: this.peoplePage.pageSize
            }).then(res => {
                this.keyPersonDetailArr = []
                this.peopleInfoList = []
                this.peoplePage.total = 0
                if (res.data.data.records.length > 0) {
                    this.peoplePage.total = res.data.data.total
                    if (status === 2) {
                        this.keyPersonDetailArr = res.data.data.records
                    } else {
                        this.peopleInfoList = res.data.data.records
                    }
                } else {
                    this.keyPersonDetailArr = []
                    this.peopleInfoList = []
                    this.peoplePage.total = 0
                }
                setTimeout(() => {
                    this.peopleKeypeopleLoading = false
                    this.keyPeopleLoading = false
                }, 500)
            })
            this.$refs.keyPersonBox.showkeypersondetail(name)
        },
        changeActivityType (type) {
@@ -2007,62 +1790,6 @@
        },
        /**
         * @description: 列表弹框中的搜索
         * @return {*}
         */
        searchPeopleDetail () {
            this.peoplePage.currentPage = 1
            this.peopleKeypeopleLoading = true
            if (this.peopleVisible == true) {
                this.getPersonInfoPage(1)
            } else if (this.keyPersonVisible == true) {
                this.getPersonInfoPage(2)
            }
        },
        /**
         * @description: 列表弹框中的清除
         * @return {*}
         */
        clearPeopleDetailSearchValue () {
            this.peoplePoliceName = ''
            this.peopleKeypeopleLoading = true
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            if (this.peopleVisible == true) {
                this.getPersonInfoPage(1)
            } else if (this.keyPersonVisible == true) {
                this.getPersonInfoPage(2)
            }
        },
        /**
         * @description: 现有人员和重点人员列表弹窗关闭的事件
         * @return {*}
         */
        personInfoClose () {
            this.peoplePoliceName = ''
            this.peopleCallPhone = ''
            this.peoplePage.currentPage = 1
            this.peopleInfoList = []
            this.keyPersonDetailArr = []
            if (this.peopleVisible == true) {
                this.peopleVisible = false
            } else if (this.keyPersonVisible == true) {
                this.keyPersonVisible = false
            }
        },
        /**
         * @description: 现有人员和重点人员列表弹窗关闭的事件
src/views/login/index.vue
@@ -35,21 +35,12 @@
            <p>用户登录</p>
            <el-form :model="loginForm" ref="formName" status-icon :rules="rules">
                <el-form-item prop="username">
                    <el-input
                        v-model="loginForm.username"
                        prefix-icon="el-icon-user"
                        placeholder="请输入您的用户名"
                        autocomplete="off"
                    ></el-input>
                    <el-input v-model="loginForm.username" prefix-icon="el-icon-user" placeholder="请输入您的用户名"
                        autocomplete="off"></el-input>
                </el-form-item>
                <el-form-item prop="password">
                    <el-input
                        type="password"
                        v-model="loginForm.password"
                        prefix-icon="el-icon-lock"
                        placeholder="请输入您密码"
                        autocomplete="off"
                    ></el-input>
                    <el-input type="password" v-model="loginForm.password" prefix-icon="el-icon-lock" placeholder="请输入您密码"
                        autocomplete="off"></el-input>
                </el-form-item>
                <el-form-item>
                    <!-- <el-button type="primary" @click.enter="onLogin()">登&nbsp;录</el-button> -->
@@ -140,7 +131,7 @@
                        //跳转首页
                        this.$router.push({ path: "/layout/home" })
                        loading.close()
                    }).catch(() => {
                    }).catch((error) => {
                        loading.close()
                    })
                }