shuishen
2023-06-26 7d11cd35eb7af711b0d143f4010491566134aa51
首页添加辖区警情排行
2 files modified
461 ■■■■■ changed files
src/api/home/index.js 368 ●●●● patch | view | raw | blame | history
src/views/home/components/rightContainer.vue 93 ●●●● patch | view | raw | blame | history
src/api/home/index.js
@@ -2,243 +2,255 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-12-27 14:19:19
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-05-08 09:55:58
 * @LastEditTime: 2023-06-26 14:24:51
 * @FilePath: \srs-police-affairs\src\api\home\index.js
 * @Description:
 *
 * Copyright (c) 2023 by shuishen 1109946754@qq.com, All Rights Reserved.
 * @Description:
 *
 * Copyright (c) 2023 by shuishen 1109946754@qq.com, All Rights Reserved.
 */
import request from "@/router/axios.js"
import request from "@/router/axios.js";
let equipmentNum = ''
let equipmentNum = "";
if (process.env.NODE_ENV == 'development') {
    // 开发
    equipmentNum = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_EQUIPMENT
if (process.env.NODE_ENV == "development") {
  // 开发
  equipmentNum = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_EQUIPMENT;
} else {
    // 部署
    equipmentNum = window.BASE_URL_CONFIG.VUE_APP_INTRANET_EQUIPMENT
  // 部署
  equipmentNum = window.BASE_URL_CONFIG.VUE_APP_INTRANET_EQUIPMENT;
}
/**
 * 获取值班列表
 * @param {*}
 * @returns
 * @param {*}
 * @returns
 */
// export const getSchedulingList = (current, size, params) => {
export const getSchedulingList = (params) => {
    return request({
        url: `/api/scheduling/scheduling/page`,
        method: 'get',
        params: {
            ...params,
            // current: current,
            // size: size
        }
    })
}
  return request({
    url: `/api/scheduling/scheduling/page`,
    method: "get",
    params: {
      ...params,
      // current: current,
      // size: size
    },
  });
};
/**
 * 获取值班单位集合信息
 * @param {*}
 * @returns
 * @param {*}
 * @returns
 */
export const getSchedulingDeptList = (current, size, params) => {
    return request({
        url: `/api/scheduling/scheduling/getSchedulingDeptList`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/scheduling/scheduling/getSchedulingDeptList`,
    method: "get",
    params: params,
  });
};
export const getAnswerPolices = (params) => {
    return request({
        url: `/api/doorplate/doorplate/acceptAlarmList`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/doorplate/doorplate/acceptAlarmList`,
    method: "get",
    params: params,
  });
};
export const getCallPolices = () => {
    return request({
        url: `/api/doorplate/doorplate/setOutAlarmList`,
        method: 'get',
        params: {}
    })
}
  return request({
    url: `/api/doorplate/doorplate/setOutAlarmList`,
    method: "get",
    params: {},
  });
};
// 获取接警历史记录
export const getAlarmList = (params) => {
    return request({
        url: `/api/alarm/alarm/page`,
        method: 'get',
        params: {
            ...params
        }
    })
}
  return request({
    url: `/api/alarm/alarm/page`,
    method: "get",
    params: {
      ...params,
    },
  });
};
// 获取接警历史记录统计数据
export const getAlarmStatistics = (params) => {
    return request({
        url: `/api/alarm/alarm/statisticsAlarmByBJLX`,
        method: 'get',
        params: {
            ...params
        }
    })
}
  return request({
    url: `/api/alarm/alarm/statisticsAlarmByBJLX`,
    method: "get",
    params: {
      ...params,
    },
  });
};
// 获取处警历史
export const getActAsPoliceList = (alarmID, cjdwbh = '') => {
    return request({
        url: `/api/outAlarm/outAlarm/page`,
        method: 'get',
        params: {
            current: 1,
            size: 100,
            alarmID,
            cjdwbh
        }
    })
}
export const getActAsPoliceList = (alarmID, cjdwbh = "") => {
  return request({
    url: `/api/outAlarm/outAlarm/page`,
    method: "get",
    params: {
      current: 1,
      size: 100,
      alarmID,
      cjdwbh,
    },
  });
};
// 案件统计数量接口查询
export const getCaseAll = (start, end, jjdwbh = '') => {
    return request({
        url: `/api/alarm/alarm/statisticsAlarm`,
        method: 'get',
        params: {
            start,
            end,
            jjdwbh
        }
    })
}
export const getCaseAll = (start, end, jjdwbh = "") => {
  return request({
    url: `/api/alarm/alarm/statisticsAlarm`,
    method: "get",
    params: {
      start,
      end,
      jjdwbh,
    },
  });
};
// 案件统计排行接口查询
export const getCaseRanking = (start, end, dwbh = '') => {
    return request({
        url: `/api/alarm/alarm/getAlarmVillageOrderList`,
        method: 'get',
        params: {
            start,
            end,
            dwbh
        }
    })
}
// 案件统计社区排行接口查询
export const getCaseRanking = (start, end, dwbh = "") => {
  return request({
    url: `/api/alarm/alarm/getAlarmVillageOrderList`,
    method: "get",
    params: {
      start,
      end,
      dwbh,
    },
  });
};
// 案件统计辖区排行接口查询
export const getCaseRankingArea = (start, end, dwbh = "") => {
  return request({
    url: `/api/alarm/alarm/getAlarmStatisticsByPoliceOrArea`,
    method: "get",
    params: {
      start,
      end,
      dwbh,
    },
  });
};
// 获取设备统计数据
export const getEquipment = (jjdwbh = '') => {
    return request({
        url: `/api/alarm/alarm/statisticsCameraTypeOnline`,
        method: 'get',
        params: {
            jjdwbh
        }
    })
}
// 获取设备统计数据
export const getEquipment = (jjdwbh = "") => {
  return request({
    url: `/api/alarm/alarm/statisticsCameraTypeOnline`,
    method: "get",
    params: {
      jjdwbh,
    },
  });
};
// 派出所责任区小区-获取三级区域数据
export const getPoliceStationTree = (type, id) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTree`,
        method: 'get',
        params: {
            type,
            id
        }
    })
}
  return request({
    url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTree`,
    method: "get",
    params: {
      type,
      id,
    },
  });
};
// 现有小区模块
export const getAreaStatisticInfo = (type, deptId) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getAreaStatisticInfo`,
        method: 'get',
        params: {
            type,
            deptId
        }
    })
}
  return request({
    url: `/api/policeStationInfo/policeStationInfo/getAreaStatisticInfo`,
    method: "get",
    params: {
      type,
      deptId,
    },
  });
};
// 获取设备分页数据
// 获取设备分页数据
export const getEquipmentPaging = (params) => {
    return request({
        url: `/device/query/devices/${equipmentNum}/channelsCar`,
        method: 'get',
        requestBaseUrl: 'outside',
        params: {
            ...params
        }
    })
}
  return request({
    url: `/device/query/devices/${equipmentNum}/channelsCar`,
    method: "get",
    requestBaseUrl: "outside",
    params: {
      ...params,
    },
  });
};
// 获取设备数据
// 获取设备数据
export const getEquipmentAll = (params) => {
    return request({
        url: `/api/alarm/alarm/channelsCarAll`,
        method: 'get',
        params: {
            ...params,
            deviceId: equipmentNum
        }
    })
}
  return request({
    url: `/api/alarm/alarm/channelsCarAll`,
    method: "get",
    params: {
      ...params,
      deviceId: equipmentNum,
    },
  });
};
// 获取现有小区详情弹窗
export const getLandDetail = (params) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/page`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/policeStationInfo/policeStationInfo/page`,
    method: "get",
    params: params,
  });
};
//实有房屋统计
export const getVillageStatisticData = (params) => {
    return request({
        url: `/api/villageDetail/villageDetail/getVillageStatisticData`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/villageDetail/villageDetail/getVillageStatisticData`,
    method: "get",
    params: params,
  });
};
//实有房屋统计--详情
export const getVillageStatisticDetail = (params) => {
    return request({
        url: `/api/villageDetail/villageDetail/page`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/villageDetail/villageDetail/page`,
    method: "get",
    params: params,
  });
};
//关注场所统计
export const getPlaceOfConcernStatisticData = (params) => {
    return request({
        url: `/api/placeOfConcern/placeOfConcern/getPlaceOfConcernStatisticData`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/placeOfConcern/placeOfConcern/getPlaceOfConcernStatisticData`,
    method: "get",
    params: params,
  });
};
//关注场所统计--详情
export const getPlaceOfConcernStatisticDetail = (params) => {
    return request({
        url: `/api/placeOfConcern/placeOfConcern/page`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/placeOfConcern/placeOfConcern/page`,
    method: "get",
    params: params,
  });
};
//实有住宅和关注场所统计总数
export const getVillageDetailAndPlaceStatisticNumber = (params) => {
    return request({
        url: `/api/placeOfConcern/placeOfConcern/getVillageDetailAndPlaceStatisticNumber`,
        method: 'get',
        params: params
    })
}
  return request({
    url: `/api/placeOfConcern/placeOfConcern/getVillageDetailAndPlaceStatisticNumber`,
    method: "get",
    params: params,
  });
};
src/views/home/components/rightContainer.vue
@@ -45,7 +45,10 @@
                            <div class="tab-title-small">警情变化趋势</div>
                        </div>
                        <div class="tab" :class="{ 'select-on-tab': caseInfoType == 1 }" @click="initEventChangeEcharts(1)">
                            <div class="tab-title-small">警情排行</div>
                            <div class="tab-title-small">社区警情排行</div>
                        </div>
                        <div class="tab" :class="{ 'select-on-tab': caseInfoType == 2 }" @click="initEventChangeEcharts(2)">
                            <div class="tab-title-small">辖区警情排行</div>
                        </div>
                    </div>
                    <div id="EventChangeEcharts" class="echarts-box"></div>
@@ -141,7 +144,7 @@
import { getSchedulingList, getSchedulingDeptList } from "@/api/home/index.js"
import { fontSize } from "@/utils/fontSize.js"
import { getCaseAll, getCaseRanking, getEquipment } from "@/api/home/index.js"
import { getCaseAll, getCaseRanking, getCaseRankingArea, getEquipment } from "@/api/home/index.js"
const timeEvents = []
@@ -315,18 +318,14 @@
            })
            eventchangemychart.clear()
            const optionsData = await this.getCaseAll(date[0], date[1])
            eventchangemychart.showLoading({
                text: '拼命加载中',
                color: '#c23531',
                textColor: '#FFF',
                maskColor: 'rgba(0, 0, 0, 0.2)',
                zlevel: 0,
            })
            setTimeout(() => {
                eventchangemychart.hideLoading()
                eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yDataList))
            }, 500)
            if (this.caseInfoType == 0) {
                this.getCaseAll(date[0], date[1])
            } else if (this.caseInfoType == 1) {
                this.getCaseRanking(date[0], date[1])
            } else {
                this.getCaseRankingArea(date[0], date[1])
            }
        },
        // 设置默认时间
@@ -431,7 +430,7 @@
            })
        },
        // 获取警情排行统计值
        // 获取警情社区排行统计值
        getCaseRanking (start, end) {
            getCaseRanking(
                start,
@@ -466,7 +465,54 @@
                        return item
                    }).sort((a, b) => b.value - a.value)
                    console.log(res.data.data, 465)
                    data = res.data.data
                } else {
                    data = []
                }
                eventchangemychart.setOption(this.initRankingOption(data))
                setTimeout(() => {
                    this.eventChangeEchartsLoading = false
                }, 500)
            })
        },
        // 获取警情辖区排行统计值
        getCaseRankingArea (start, end) {
            getCaseRankingArea(
                start,
                end,
                this.policeStaionID != "" ? this.policeStaionID : this.userInfo.dept_id
            ).then((res) => {
                let data = []
                if (res.data.data) {
                    res.data.data = res.data.data.sort((a, b) => a.value - b.value)
                    res.data.data = res.data.data.map((item, index) => {
                        item.value = item.num
                        item.name = item.police_station_name
                        if (index == 0) {
                            item.itemStyle = {
                                color: '#EB3C5A'
                            }
                        } else if (index == 1) {
                            item.itemStyle = {
                                color: '#FA8331'
                            }
                        } else if (index == 2) {
                            item.itemStyle = {
                                color: '#F7B833'
                            }
                        } else {
                            item.itemStyle = {
                                color: '#395FFD'
                            }
                        }
                        return item
                    }).sort((a, b) => b.value - a.value)
                    data = res.data.data
                } else {
@@ -506,10 +552,11 @@
            if (type == 0) {
                this.getCaseAll(date[0], date[1])
            } else {
            } else if (type == 1) {
                this.getCaseRanking(date[0], date[1])
            } else {
                this.getCaseRankingArea(date[0], date[1])
            }
        },
        // 警情数量统计的options
@@ -691,9 +738,13 @@
                    return { value: item.value, itemStyle: item.itemStyle }
                })
                let xData = dataArr.map((item) => {
                    let name = item.name.substring(0, 6) + '…'
                    if (item.name.length > 5) {
                        let name = item.name.substring(0, 6) + '…'
                    return name
                        return name
                    } else {
                        return item.name
                    }
                })
                option = {
                    tooltip: {
@@ -805,7 +856,7 @@
                    ],
                    grid: {
                        top: "3%",
                        left: "-20%",
                        left: "-14%",
                        right: "2%",
                        bottom: "3%",
                        containLabel: true,