Merge branch 'main' of http://114.55.171.231:3000/Euni4U/vue3
This commit is contained in:
commit
8631f01c84
@ -88,8 +88,8 @@ export const PersonApi = {
|
||||
},
|
||||
|
||||
// 查询会员开通数量
|
||||
getMemberRegisterCount: async (startDate: string, endDate: string) => {
|
||||
return await request.get({ url: `/system/person/get-member-register-count?startDate=` + startDate + `&endDate=` + endDate })
|
||||
getMemberRegisterCount: async (startDate: string, endDate: string,orgid:number) => {
|
||||
return await request.get({ url: `/system/person/get-member-register-count?startDate=` + startDate + `&endDate=` + endDate + `&orgid=` + orgid })
|
||||
},
|
||||
|
||||
// 获取会员增长数据
|
||||
|
||||
@ -145,7 +145,11 @@ const memberLineOptions = ref<any>({
|
||||
const getAlertData = async (orgid: number) => {
|
||||
try {
|
||||
const data = await AlertMessageApi.getAlertStatistics(orgid)
|
||||
Object.assign(alertData, data)
|
||||
// 使用安全的数据合并,保留默认值
|
||||
if (data) {
|
||||
alertData.alertTotal = data.alertTotal ?? alertData.alertTotal
|
||||
alertData.alertUnhandled = data.alertUnhandled ?? alertData.alertUnhandled
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取预警数据失败:', error)
|
||||
ElMessage.error('获取预警数据失败')
|
||||
@ -156,7 +160,12 @@ const getAlertData = async (orgid: number) => {
|
||||
const getDeviceStats = async (orgid: number) => {
|
||||
try {
|
||||
const data = await DeviceApi.getDeviceStatistics(orgid)
|
||||
Object.assign(deviceStats, data)
|
||||
// 使用安全的数据合并,保留默认值
|
||||
if (data) {
|
||||
deviceStats.totalCount = data.totalCount ?? deviceStats.totalCount
|
||||
deviceStats.onlineCount = data.onlineCount ?? deviceStats.onlineCount
|
||||
deviceStats.offlineCount = data.offlineCount ?? deviceStats.offlineCount
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取设备统计数据失败:', error)
|
||||
ElMessage.error('获取设备统计数据失败')
|
||||
@ -168,13 +177,19 @@ const getDeviceMapData = async (orgid: number) => {
|
||||
try {
|
||||
const data = await DeviceApi.getDeviceMapData(orgid)
|
||||
|
||||
|
||||
// 更新地图数据
|
||||
Object.assign(mapData, data)
|
||||
// 使用安全的数据合并,保留默认值
|
||||
if (data) {
|
||||
mapData.totalCount = data.totalCount ?? mapData.totalCount
|
||||
mapData.onlineCount = data.onlineCount ?? mapData.onlineCount
|
||||
mapData.offlineCount = data.offlineCount ?? mapData.offlineCount
|
||||
mapData.alertTotal = data.alertTotal ?? mapData.alertTotal
|
||||
mapData.alertUnhandled = data.alertUnhandled ?? mapData.alertUnhandled
|
||||
mapData.mapData = Array.isArray(data.mapData) ? data.mapData : mapData.mapData
|
||||
mapData.scatterData = Array.isArray(data.scatterData) ? data.scatterData : mapData.scatterData
|
||||
}
|
||||
|
||||
// 更新地图配置 - 组件会自动监听options变化
|
||||
updateMapOptions()
|
||||
|
||||
|
||||
} catch (error) {
|
||||
console.error('获取设备分布数据失败:', error)
|
||||
|
||||
@ -130,7 +130,9 @@ const statusFormatter = (row: any, column: any, cellValue: any) => {
|
||||
const getList = async () => {
|
||||
//首先获取用户信息
|
||||
userProfile.value = await getUserProfile()
|
||||
queryParams.orgid = userProfile.value.dept.orgid
|
||||
if(userProfile.value.dept.orgid!=0){
|
||||
queryParams.orgid = userProfile.value.dept.orgid
|
||||
}
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await AlertMessageApi.getAlertMessagePage(queryParams)
|
||||
|
||||
@ -29,7 +29,11 @@ v-model="queryParams.idcard" placeholder="请输入身份证号" clearable @keyu
|
||||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true">
|
||||
<el-table-column label="编号" align="center" prop="id" />
|
||||
<el-table-column label="编号" align="center" width="100">
|
||||
<template #default="{ $index }">
|
||||
{{ (queryParams.pageNo - 1) * queryParams.pageSize + $index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" />
|
||||
<el-table-column label="性别" align="center" prop="gender">
|
||||
<template #default="scope">
|
||||
|
||||
@ -44,10 +44,11 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, watch, nextTick } from 'vue'
|
||||
import * as echarts from 'echarts'
|
||||
import ShortcutDateRangePicker from '@/components/ShortcutDateRangePicker/index.vue'
|
||||
import ContentWrap from '@/components/ContentWrap/src/ContentWrap.vue'
|
||||
import { PersonApi } from '@/api/person'
|
||||
import dayjs from 'dayjs'
|
||||
import { getUserProfile } from '@/api/system/user/profile'
|
||||
const userinfo = ref()
|
||||
// 图表类型:'line' 折线图,'bar' 柱状图
|
||||
const chartType = ref<'line' | 'bar'>('line')
|
||||
// 会员注册数据
|
||||
@ -120,7 +121,8 @@ const renderChart = () => {
|
||||
// 获取会员注册数量数据(调用PersonApi)
|
||||
const fetchData = async () => {
|
||||
if (!dateRange.value || !dateRange.value[0] || !dateRange.value[1]) return
|
||||
const res = await PersonApi.getMemberRegisterCount(dateRange.value[0], dateRange.value[1])
|
||||
|
||||
const res = await PersonApi.getMemberRegisterCount(dateRange.value[0], dateRange.value[1],userinfo.value.dept.orgid)
|
||||
chartData.value = Array.isArray(res) ? res : []
|
||||
}
|
||||
|
||||
@ -139,6 +141,9 @@ watch([chartData, chartType], () => {
|
||||
|
||||
// 默认一周,首次渲染
|
||||
onMounted(() => {
|
||||
getUserProfile().then(res => {
|
||||
userinfo.value = res
|
||||
})
|
||||
fetchData()
|
||||
nextTick(() => {
|
||||
renderChart()
|
||||
|
||||
@ -339,10 +339,10 @@ const params = ref({
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
const userProfile = await getUserProfile()
|
||||
params.value.orgid = userProfile.dept.orgid
|
||||
|
||||
if(userProfile.dept.orgid!=0){
|
||||
params.value.orgid = userProfile.dept.orgid
|
||||
}
|
||||
const res = await AlertMessageApi.getAlertMessageStatistics(params.value)
|
||||
console.log(res)
|
||||
// 处理返回的数据格式
|
||||
if (res && res.dailyData && Array.isArray(res.dailyData)) {
|
||||
chartData.value = res.dailyData.map((item: any) => {
|
||||
|
||||
@ -42,7 +42,11 @@
|
||||
v-loading="loading"
|
||||
:data="memberList"
|
||||
>
|
||||
<el-table-column label="编号" align="center" prop="id" width="100"/>
|
||||
<el-table-column label="编号" align="center" width="100">
|
||||
<template #default="{ $index }">
|
||||
{{ (queryParams.pageNo - 1) * queryParams.pageSize + $index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" width="100"/>
|
||||
<el-table-column label="手机号" align="center" prop="phone" width="200"/>
|
||||
<el-table-column label="VIP状态" align="center" prop="isvip" width="100" >
|
||||
@ -194,10 +198,13 @@ const getList = async () => {
|
||||
try {
|
||||
//首先获取用户信息
|
||||
userProfile.value = await getUserProfile()
|
||||
if(userProfile.value.dept.orgid!=0){
|
||||
queryParams.orgid = userProfile.value.dept.orgid
|
||||
}
|
||||
const res = await PersonApi.getPersonPage({
|
||||
pageNo: queryParams.pageNo,
|
||||
pageSize: queryParams.pageSize,
|
||||
orgid: userProfile.value.dept.orgid
|
||||
orgid: queryParams.orgid
|
||||
})
|
||||
// 检查返回的数据结构
|
||||
if (res) {
|
||||
|
||||
@ -40,7 +40,11 @@
|
||||
:data="list"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<!-- <el-table-column label="ID" align="center" prop="id" width="100" /> -->
|
||||
<el-table-column label="编号" align="center" width="100">
|
||||
<template #default="{ $index }">
|
||||
{{ (queryParams.pageNo - 1) * queryParams.pageSize + $index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="name" width="160" />
|
||||
<el-table-column label="手机号" align="center" prop="phone" width="160" />
|
||||
<el-table-column label="地址" align="center" prop="address" />
|
||||
@ -119,8 +123,7 @@ const list = ref([]) // 列表数据
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
name: undefined,
|
||||
phone: undefined
|
||||
isvip: 1
|
||||
})
|
||||
|
||||
const queryFormRef = ref()
|
||||
@ -148,8 +151,9 @@ const getList = async () => {
|
||||
try {
|
||||
//首先获取用户信息
|
||||
userProfile.value = await getUserProfile()
|
||||
queryParams.orgid = userProfile.value.dept.orgid
|
||||
queryParams.isvip = 1
|
||||
if(userProfile.value.dept.orgid!=0){
|
||||
queryParams.orgid = userProfile.value.dept.orgid
|
||||
}
|
||||
const data = await PersonApi.getPersonPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
|
||||
Loading…
Reference in New Issue
Block a user