shuishen
2024-04-26 85f492519b4341eb56c0fcd3161c184dbc58794a
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
7 files modified
351 ■■■■ changed files
src/api/contradictionEventShow/index.js 16 ●●●●● patch | view | raw | blame | history
src/api/policeAlarmRecordsManage/index.js 12 ●●●●● patch | view | raw | blame | history
src/api/site/index.js 25 ●●●●● patch | view | raw | blame | history
src/views/contradictionEventShow/index.vue 116 ●●●● patch | view | raw | blame | history
src/views/policeAlarmRecordsManage/index.vue 76 ●●●● patch | view | raw | blame | history
src/views/practitionersManage/index.vue 2 ●●● patch | view | raw | blame | history
src/views/site/index.vue 104 ●●●● patch | view | raw | blame | history
src/api/contradictionEventShow/index.js
@@ -14,4 +14,20 @@
        },
        params: params,
    })
}
/**
 * 矛盾纠纷记录表 统计
 * @param {*} params
 * @returns
 */
export const getStatistic = (params) => {
    return request({
        url: "/api/blade-disputeRecord/disputeRecord/getStatistic",
        method: "get",
        meta: {
            isToken: true,
        },
        params: params,
    })
}
src/api/policeAlarmRecordsManage/index.js
@@ -13,6 +13,18 @@
}
/**
 * 报警记录统计
 * @returns
 */
export const getStatistic = (params) => {
    return request({
        url: "/api/blade-policeAlarmRecords/policeAlarmRecords/getStatistic",
        method: "get",
        params
    })
}
/**
 * 获取从业人员有前科数量
 * @returns
 */
src/api/site/index.js
@@ -10,6 +10,19 @@
 */
import request from "@/router/axios.js"
/**
 * 获取字典表
 * @returns
 */
export const getDictBizTree = (param) => {
    return request({
        url: "/api/blade-system/dict-biz/tree",
        method: "get",
        params:param
    })
}
/**
 * 获取九小场所字典表
 * @param {*} page 页数
@@ -120,3 +133,15 @@
    })
}
/**
 * 获取九小场所隐患数量统计
 * @returns
 */
export const getNineStatisticsNum = (params) => {
    return request({
        url: "/api/blade-place/place/getNineStatisticsNum",
        method: "get",
        params,
    })
}
src/views/contradictionEventShow/index.vue
@@ -3,9 +3,32 @@
        <div v-show="boxShow" class="container-content" ref="containerContent">
            <div class="time-select" ref="timeSelect">
                <div class="search-item-box">
                    <el-input size="small" placeholder="请输入(地址、内容)" v-model="searchKey" clearable></el-input>
                    <span>矛盾纠纷类型:</span>
                    <el-select clearable style="flex: 1;" size="small" v-model="typeValue" @change="typeChange"
                        placeholder="请选择矛盾纠纷类型">
                        <el-option v-for="item in typeOptions" :key="item.dictKey" :label="item.dictValue"
                            :value="item.dictKey"></el-option>
                    </el-select>
                </div>
                <div class="search-item-box">
                    <el-input size="small" placeholder="请输入(地址、纠纷内容)" v-model="searchKey" clearable></el-input>
                    <el-button @click="searchBtn" icon="el-icon-search" class="bjnr-btn">搜索</el-button>
                    <el-button @click="resetBtn" icon="el-icon-delete" class="bjnr-btn">清除</el-button>
                </div>
                <div class="search-item-box" style="overflow-wrap: break-word;">
                    <el-button @click="filterBtn(1)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">已化解({{ yhj ? yhj :
            '0'
                        }})</el-button>
                    <el-button @click="filterBtn(2)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">未化解({{ whj ? whj :
            '0'
                        }})</el-button>
                    <el-button @click="filterBtn(3)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">移交E呼即办({{ ysehjb ? ysehjb :
            '0'
                        }})</el-button>
                </div>
            </div>
@@ -48,7 +71,7 @@
<script>
import { initMapPosition } from '@/utils/mapPositionInit'
import {
    getDisputeRecordList
    getDisputeRecordList,getStatistic
} from "@/api/contradictionEventShow/index.js"
import { getDictionaryListByCode } from "@/api/rentalInfo/index.js"
@@ -61,34 +84,41 @@
    components: { detailDialog },
    data () {
    data() {
        return {
            handleResult:null,
            yhj:0,
            whj:0,
            ysehjb:0,
            typeValue: '',
            typeOptions: [],
            searchKey: '',
            currentTableHeight: 0,
            tableData: [],
            boxShow: false,
            pages: {
                current: 1,
                total: 0,
                pageSize: 22,
                count: 0,
                currentPage: 1
            },
            disputeTypeList: [],
            disputeSourceList: []
        }
    },
    created () {
    created() {
        const that = this
        that.$nextTick(() => {
            initMapPosition()
            that.getDictionaryListByCode()
            that.getStatistic()
            that.getList()
        })
    },
    mounted () {
    mounted() {
        this.$parent.$parent.resize('400px', true)
        this.$nextTick(() => {
@@ -101,7 +131,7 @@
    },
    computed: {
        positionColor () {
        positionColor() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return "#1AFA29"
@@ -111,7 +141,7 @@
            }
        },
        positionDisabled () {
        positionDisabled() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return false
@@ -123,18 +153,34 @@
    },
    methods: {
        // 统计
        getStatistic(){
            var that = this;
            getStatistic({
                disputeType: this.typeValue,
                searchKey: this.searchKey
            }).then(res=>{
                that.yhj = res.data.data.yhj
                that.whj = res.data.data.whj
                that.ysehjb = res.data.data.ysehjb
            })
        },
        // 获取字典列表
        getDictionaryListByCode () {
        getDictionaryListByCode() {
            getDictionaryListByCode('disputeType').then(res => {
                this.disputeTypeList = res.data.data
            })
            getDictionaryListByCode('disputeSource').then(res => {
                this.disputeSourceList = res.data.data
            })
            // 矛盾纠纷类型获取
            getDictionaryListByCode('disputeType').then(res => {
                this.typeOptions = res.data.data
            })
        },
        // 点击定位
        rowClick (row) {
        rowClick(row) {
            this.$EventBus.$emit('toPosition', {
                siteJd: row.lng,
                siteWd: row.lat,
@@ -158,7 +204,7 @@
        },
        // 点击详情
        goDetail (row) {
        goDetail(row) {
            let detailList = []
            let title = '矛盾纠纷事件详情'
@@ -243,21 +289,28 @@
            this.$refs.detailDialog.initOpen(detailList, title, [], [])
        },
        // 切换登记类型
        typeChange() {
            this.pages.current = 1
            this.getList()
            this.getStatistic()
        },
        // 获取列表
        getList () {
        getList() {
            this.loading()
            let params = {
                handleResult:this.handleResult,
                disputeType: this.typeValue,
                searchKey: this.searchKey,
                size: this.pages.pageSize,
                current: this.pages.currentPage
                current: this.pages.current
            }
            this.getDisputeRecordList(params)
        },
        // 矛盾纠纷列表
        getDisputeRecordList (params) {
        getDisputeRecordList(params) {
            getDisputeRecordList(params).then(res => {
                this.tableData = res.data.data.records
                this.pages.total = res.data.data.total
@@ -272,30 +325,39 @@
        },
        // 搜索按钮
        searchBtn () {
            this.pages.currentPage = 1
        searchBtn() {
            this.pages.current = 1
            this.getList()
            this.getStatistic()
        },
        // 清空按钮
        resetBtn () {
        resetBtn() {
            this.searchKey = ''
            this.pages.currentPage = 1
            this.typeValue = null;
            this.handleResult = null;
            this.pages.current = 1
            this.getList()
            this.getStatistic()
            this.$EventBus.$emit('mapClearLayer', {
                layerName: 'searchAILayer',
                type: 'VectorLayer'
            })
        },
        // 分页处理
        handleCurrentChange (currentPage) {
            this.pages.currentPage = currentPage
        filterBtn(handleResult){
            this.handleResult = handleResult
            this.getList()
        },
        // 分页处理
        handleCurrentChange(currentPage) {
            this.pages.current = currentPage
            this.getList()
            this.getStatistic()
        },
        // 加载动画
        loading () {
        loading() {
            loading = this.$loading({
                lock: true,
                text: '拼命加载中',
@@ -305,17 +367,17 @@
        },
        // 表格高度
        setTableHeight () {
        setTableHeight() {
            this.currentTableHeight = this.$refs.containerContent.offsetHeight - this.$refs.timeSelect.offsetHeight
        },
        // 大小重置
        boxResize (val) {
        boxResize(val) {
            this.boxShow = val
        },
    },
    destroyed () {
    destroyed() {
        loading && loading.close()
        window.removeEventListener('resize', this.setTableHeight)
src/views/policeAlarmRecordsManage/index.vue
@@ -35,6 +35,17 @@
                    <el-button @click="searchBtn" icon="el-icon-search" class="bjnr-btn">搜索</el-button>
                    <el-button @click="clearRow" icon="el-icon-delete" class="bjnr-btn">清除</el-button>
                </div>
                <div class="search-item-box" style="overflow-wrap: break-word;">
                    <el-button @click="filterBtn(2)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">已处置({{ ycz ? ycz :
            '0'
                        }})</el-button>
                    <el-button @click="filterBtn(1)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">未处置({{ dcz ? dcz :
            '0'
                        }})</el-button>
                </div>
            </div>
            <div class="list police-info" ref="tableBox">
@@ -73,15 +84,18 @@
<script>
import { initMapPosition } from '@/utils/mapPositionInit'
import { getList, getApplyAlarmType } from "@/api/policeAlarmRecordsManage/index.js"
import { getList, getApplyAlarmType,getStatistic } from "@/api/policeAlarmRecordsManage/index.js"
let loading = null
export default {
    inject: ['userInfo'],
    data () {
    data() {
        return {
            status:null,
            dcz:0,
            ycz:0,
            boxShow: false,
            alarmDescribe: '',
            typeValue: '',
@@ -98,8 +112,9 @@
        }
    },
    created () {
    created() {
        this.getApplyAlarmType()
        this.getStatistic()
        this.onLoad()
        const that = this
@@ -108,7 +123,7 @@
        })
    },
    mounted () {
    mounted() {
        this.$parent.$parent.resize('400px', true)
        this.$nextTick(() => {
@@ -117,7 +132,7 @@
    },
    computed: {
        positionColor () {
        positionColor() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return "#1AFA29"
@@ -127,7 +142,7 @@
            }
        },
        positionDisabled () {
        positionDisabled() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return false
@@ -139,42 +154,52 @@
    },
    methods: {
        filterBtn(status){
            this.status = status
            this.onLoad()
        },
        // 切换登记类型
        typeChange () {
        typeChange() {
            this.pages.current = 1
            this.onLoad()
            this.getStatistic()
        },
        // 搜索条件改变
        searchChange () {
        searchChange() {
            if (this.keyword.trim() == '') {
                this.pages.current = 1
                this.onLoad()
                this.getStatistic()
            }
        },
        // 点击搜索
        searchBtn () {
        searchBtn() {
            this.pages.current = 1
            this.onLoad()
            this.getStatistic()
        },
        // 重置搜索
        resetSearch () {
        resetSearch() {
            this.pages.current = 1
            this.alarmDescribe = ''
            this.typeValue = ''
            this.status = null;
            this.onLoad()
            this.getStatistic()
        },
        // 分页处理
        handleCurrentChange (current) {
        handleCurrentChange(current) {
            this.pages.current = current
            this.onLoad()
            this.getStatistic()
        },
        // 加载动画
        loading () {
        loading() {
            loading = this.$loading({
                lock: true,
                text: '拼命加载中',
@@ -182,12 +207,23 @@
                background: 'rgba(0, 0, 0, 0.5)'
            })
        },
        getStatistic(){
            var that = this;
            getStatistic({
                alarmDescribe: this.alarmDescribe,
                alarmType: this.typeValue
            }).then(res=>{
                that.dcz = res.data.data.dcz
                that.ycz = res.data.data.ycz
            })
        },
        // 获取列表数据
        onLoad () {
        onLoad() {
            this.loading()
            getList({
                status:this.status,
                current: this.pages.current,
                size: this.pages.size,
                alarmDescribe: this.alarmDescribe,
@@ -217,7 +253,7 @@
        },
        // 点击定位
        rowClick (row) {
        rowClick(row) {
            let lng = global.DC.CoordTransform.GCJ02ToWGS84(row.longitude, row.latitude)[0]
            let lat = global.DC.CoordTransform.GCJ02ToWGS84(row.longitude, row.latitude)[1]
@@ -247,23 +283,23 @@
        },
        // 查看详情
        goDetail (row) {
        goDetail(row) {
            this.$refs.PoliceDetailPopup.initOpen(row)
        },
        // 点击图标
        siteClick (e) {
        siteClick(e) {
            this.$refs.PoliceDetailPopup.initOpen(e.overlay.attrParams)
        },
        getApplyAlarmType () {
        getApplyAlarmType() {
            getApplyAlarmType().then(res => {
                this.typeOptions = res.data.data
            })
        },
        // 清空按钮-清除图标图层
        clearRow () {
        clearRow() {
            this.$EventBus.$emit('mapClearLayer', {
                layerName: 'scanLayer',
                type: 'VectorLayer'
@@ -273,12 +309,12 @@
        },
        // 大小重置
        boxResize (val) {
        boxResize(val) {
            this.boxShow = val
        },
    },
    destroyed () {
    destroyed() {
        loading && loading.close()
        this.$parent.$parent.resize('0px')
src/views/practitionersManage/index.vue
@@ -26,7 +26,7 @@
                    <el-button @click="clearRow" icon="el-icon-delete" class="bjnr-btn">清除</el-button>
                </div>
                <div class="search-item-box" style="justify-content: flex-start;">
                    <el-button @click="filterBtn" icon="el-icon-notebook-2" class="bjnr-btn"
                    <el-button @click="filterBtn" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">有前科({{ scycNum ? scycNum :
            '0'
                        }})</el-button>
src/views/site/index.vue
@@ -35,6 +35,27 @@
                    <el-button @click="searchBtn" icon="el-icon-search" class="bjnr-btn">搜索</el-button>
                    <el-button @click="clearRow" icon="el-icon-delete" class="bjnr-btn">清除</el-button>
                </div>
                <div class="search-item-box" style="overflow-wrap: break-word;">
                    <el-button @click="filterBtn(1)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">有隐患场所({{ yhcsNum ? yhcsNum :
            '0'
                        }})隐患总数({{ yhNum ? yhNum :
            '0' }})</el-button>
                </div>
                <div class="search-item-box" style="overflow-wrap: break-word;">
                    <el-button @click="filterBtn(2)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">已整改场所({{ yzgcsNum ? yzgcsNum :
            '0'
                        }})已整改隐患({{ yzgyhNum ? yzgyhNum :
            '0' }})</el-button>
                </div>
                <div class="search-item-box" style="overflow-wrap: break-word;">
                    <el-button @click="filterBtn(3)" class="bjnr-btn"
                        :class="{ isOneClick: criminalRecordFlag == 1 }">未整改场所({{ wzgcsNum ? wzgcsNum :
            '0'
                        }})未整改隐患({{ wzgyhNum ? wzgyhNum :
            '0' }})</el-button>
                </div>
            </div>
            <div class="list police-info" ref="tableBox">
@@ -73,23 +94,28 @@
<script>
import { initMapPosition } from '@/utils/mapPositionInit'
import { getNineTypeTree, getNinePage } from "@/api/site/index.js"
import { getNineTypeTree, getNinePage, getNineStatisticsNum } from "@/api/site/index.js"
let loading = null
export default {
    inject: ['userInfo'],
    data () {
    data() {
        return {
            boxShow: false,
            isDanger:null,
            placeName: '',
            typeValue: '',
            typeOptions: [],
            tableData: [],
            yhcsNum: 0,
            yhNum: 0,
            yzgcsNum: 0,
            yzgyhNum: 0,
            wzgcsNum: 0,
            wzgyhNum: 0,
            pages: {
                current: 1,
                size: 22,
@@ -99,7 +125,9 @@
        }
    },
    created () {
    created() {
        // 获取九小场所隐患数量统计
        this.getNineStatisticsNum()
        this.getNineTypeTree()
        this.getNinePage()
        const that = this
@@ -109,7 +137,7 @@
        })
    },
    mounted () {
    mounted() {
        this.$parent.$parent.resize('400px', true)
        this.$nextTick(() => {
@@ -118,7 +146,7 @@
    },
    computed: {
        positionColor () {
        positionColor() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return "#1AFA29"
@@ -128,7 +156,7 @@
            }
        },
        positionDisabled () {
        positionDisabled() {
            return (row) => {
                if (row.X && row.X != 0 || row.lng && row.lng != 0 || row.longitude && row.longitude != 0 || row.x && row.x != 0) {
                    return false
@@ -140,38 +168,63 @@
    },
    methods: {
        getNineTypeTree () {
        // 是否有隐患
        filterBtn(isDanger){
            this.isDanger = isDanger;
            this.getNinePage()
        },
        // 获取九小场所隐患数量统计
        getNineStatisticsNum() {
            var that = this;
            getNineStatisticsNum({
                nineType: this.typeValue,
                placeName: this.placeName
            }).then(res => {
                const data = res.data.data;
                that.yhcsNum = data[0].total;
                that.yhNum = data[0].patrolNum;
                that.yzgcsNum = data[1].total;
                that.yzgyhNum = data[1].patrolNum;
                that.wzgcsNum = data[2].total;
                that.wzgyhNum = data[2].patrolNum;
            })
        },
        getNineTypeTree() {
            getNineTypeTree().then(res => {
                this.typeOptions = res.data.data
            })
        },
        // 切换登记类型
        typeChange () {
        typeChange() {
            this.pages.current = 1
            this.getNinePage()
            this.getNineStatisticsNum()
        },
        searchChange () {
        searchChange() {
            if (this.placeName.trim() == '') {
                this.pages.current = 1
                this.getNinePage()
                this.getNineStatisticsNum()
            }
        },
        searchBtn () {
        searchBtn() {
            this.pages.current = 1
            this.getNinePage()
            this.getNineStatisticsNum()
        },
        // 分页处理
        handleCurrentChange (current) {
        handleCurrentChange(current) {
            this.pages.current = current
            this.getNinePage()
            this.getNineStatisticsNum()
        },
        // 加载动画
        loading () {
        loading() {
            loading = this.$loading({
                lock: true,
                text: '拼命加载中',
@@ -180,14 +233,15 @@
            })
        },
        getNinePage () {
        getNinePage() {
            this.loading()
            getNinePage({
                current: this.pages.current,
                size: this.pages.size,
                nineType: this.typeValue,
                placeName: this.placeName
                placeName: this.placeName,
                isDanger:this.isDanger
            }).then(res => {
                const data = res.data.data
@@ -205,7 +259,7 @@
        },
        // 点击定位
        rowClick (row) {
        rowClick(row) {
            let lng = global.DC.CoordTransform.GCJ02ToWGS84(row.lng, row.lat)[0]
            let lat = global.DC.CoordTransform.GCJ02ToWGS84(row.lng, row.lat)[1]
@@ -235,30 +289,36 @@
        },
        // 查看详情
        goDetail (row) {
        goDetail(row) {
            this.$refs.SiteDialogPopup.initOpen(row)
        },
        siteClick (e) {
        siteClick(e) {
            this.$refs.SiteDialogPopup.initOpen(e.overlay.attrParams)
        },
        // 清空按钮-清除图标图层
        clearRow () {
        clearRow() {
            this.isDanger = null
            this.placeName = null
            this.typeValue = null
            this.$EventBus.$emit('mapClearLayer', {
                layerName: 'scanLayer',
                type: 'VectorLayer'
            })
            this.$store.commit('SET_DIALOGDETAILPOPUP', false)
            this.pages.current = 1
            this.getNinePage()
            this.getNineStatisticsNum()
        },
        // 大小重置
        boxResize (val) {
        boxResize(val) {
            this.boxShow = val
        },
    },
    destroyed () {
    destroyed() {
        loading && loading.close()
        this.$parent.$parent.resize('0px')