区域统计

This commit is contained in:
曹磊 2025-07-04 15:44:54 +08:00
parent eb993507d6
commit aba4340ff3
4 changed files with 55 additions and 14 deletions

View File

@ -53,6 +53,12 @@ export const superQuerySchema = {
export const tdcsColumns : BasicColumn[] =[ export const tdcsColumns : BasicColumn[] =[
{
title: '序号',
dataIndex: 'rowNumber',
key: 'rowNumber',
align: 'center'
},
{ {
title: '小区名称', title: '小区名称',
dataIndex: 'name', dataIndex: 'name',
@ -74,6 +80,12 @@ export const tdcsColumns : BasicColumn[] =[
] ]
export const xzrsColumns : BasicColumn[] =[ export const xzrsColumns : BasicColumn[] =[
{
title: '序号',
dataIndex: 'rowNumber',
key: 'rowNumber',
align: 'center'
},
{ {
title: '小区名称', title: '小区名称',
dataIndex: 'name', dataIndex: 'name',
@ -81,7 +93,7 @@ export const xzrsColumns : BasicColumn[] =[
align: 'center' align: 'center'
}, },
{ {
title: '新增人数', title: '新增会员',
dataIndex: 'value', dataIndex: 'value',
key: 'value', key: 'value',
align: 'center' align: 'center'
@ -95,6 +107,12 @@ export const xzrsColumns : BasicColumn[] =[
] ]
export const tdzlColumns : BasicColumn[] =[ export const tdzlColumns : BasicColumn[] =[
{
title: '序号',
dataIndex: 'rowNumber',
key: 'rowNumber',
align: 'center'
},
{ {
title: '小区名称', title: '小区名称',
dataIndex: 'name', dataIndex: 'name',
@ -118,6 +136,12 @@ export const tdzlColumns : BasicColumn[] =[
export const detailXzhyColumns : BasicColumn[] =[ export const detailXzhyColumns : BasicColumn[] =[
{
title: '序号',
dataIndex: 'rowNumber',
key: 'rowNumber',
align: 'center'
},
{ {
title: '小区名称', title: '小区名称',
dataIndex: 'housingestateName', dataIndex: 'housingestateName',
@ -155,7 +179,7 @@ export const detailXzhyColumns : BasicColumn[] =[
align: 'center' align: 'center'
}, },
{ {
title: '注册时间', title: '最后投递时间',
dataIndex: 'deliveredAt', dataIndex: 'deliveredAt',
key: 'deliveredAt', key: 'deliveredAt',
align: 'center' align: 'center'
@ -178,6 +202,12 @@ export const detailXzhyColumns : BasicColumn[] =[
export const detailTdcsColumns : BasicColumn[] =[ export const detailTdcsColumns : BasicColumn[] =[
{
title: '序号',
dataIndex: 'rowNumber',
key: 'rowNumber',
align: 'center'
},
{ {
title: '小区名称', title: '小区名称',
dataIndex: 'housingestateName', dataIndex: 'housingestateName',

View File

@ -29,9 +29,9 @@
</a-radio-group> </a-radio-group>
</a-col> </a-col>
</a-row> </a-row>
<Bar v-show="!izList" :chartData="dataSource" height="80vh" :option="{ title: { text: '小区新增会员统计', left: 'center' }}" :itemStyle="{ normal: {label : {show: true, position: 'top'}}}" :seriesName="'新增人数'"></Bar> <Bar v-show="!izList" :chartData="dataSource" height="80vh" :option="{ title: { text: '小区新增会员统计', left: 'center' }}" :itemStyle="{ normal: {label : {show: true, position: 'top'}}}" :seriesName="'新增会员'"></Bar>
<div v-show="izList" style="margin-top: 20px;"> <div v-show="izList" style="margin-top: 20px;">
<a-table :dataSource="dataSource" :columns="xzrsColumns" > <a-table :dataSource="dataSource" :columns="xzrsColumns">
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link" @click="handleView(record)">查看</a-button> <a-button type="link" @click="handleView(record)">查看</a-button>
@ -42,7 +42,7 @@
</a-card> </a-card>
<!-- 查看详情弹窗 --> <!-- 查看详情弹窗 -->
<a-modal v-model:visible="detailVisible" title="新增会员详情" width="80%" :footer="null"> <a-modal v-model:visible="detailVisible" title="新增会员详情" width="80%" :footer="null">
<a-table :dataSource="detailData" :columns="detailXzhyColumns" rowKey="phone"> <a-table :dataSource="detailData" :columns="detailXzhyColumns" rowKey="rowNumber">
</a-table> </a-table>
</a-modal> </a-modal>
</div> </div>
@ -58,9 +58,14 @@
const dataSource = ref([]); const dataSource = ref([]);
const dateValue = ref(); const dateValue = ref();
const housingestates = ref(); const housingestates = ref();
const izList = ref(false) const izList = ref(false)
const detailVisible = ref(false); const detailVisible = ref(false);
const detailData = ref([]); const detailData = ref([]);
const pagination = {
current: 1,
pageSize: 10,
};
const parmas = reactive<any>({ const parmas = reactive<any>({
beginTime: '', beginTime: '',
@ -106,6 +111,7 @@ const detailData = ref([]);
const handleView = async (record) => { const handleView = async (record) => {
console.log("🚀 ~ handleView ~ record:", record) console.log("🚀 ~ handleView ~ record:", record)
try { try {
detailData.value = [];
const res = await queryXzhyDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 }); const res = await queryXzhyDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 });
detailData.value = res.records; detailData.value = res.records;
console.log("🚀 ~ handleView ~ res:", res) console.log("🚀 ~ handleView ~ res:", res)
@ -126,6 +132,7 @@ const handleView = async (record) => {
dataSource.value = []; dataSource.value = [];
for (let i = 0; i < res.length; i++) { for (let i = 0; i < res.length; i++) {
dataSource.value.push({ dataSource.value.push({
rowNumber: res[i].rowNumber,
name: `${res[i].housingestateName}`, name: `${res[i].housingestateName}`,
value: res[i].cn, value: res[i].cn,
housingestateId: res[i].housingestateId, housingestateId: res[i].housingestateId,

View File

@ -42,7 +42,7 @@
</a-card> </a-card>
<!-- 查看详情弹窗 --> <!-- 查看详情弹窗 -->
<a-modal v-model:visible="detailVisible" title="投递次数详情" width="80%" :footer="null"> <a-modal v-model:visible="detailVisible" title="投递次数详情" width="80%" :footer="null">
<a-table :dataSource="detailData" :columns="detailTdcsColumns" rowKey="phone"> <a-table :dataSource="detailData" :columns="detailTdcsColumns" rowKey="rowNumber">
</a-table> </a-table>
</a-modal> </a-modal>
</div> </div>
@ -76,6 +76,7 @@ const detailData = ref([]);
const handleView = async (record) => { const handleView = async (record) => {
console.log("🚀 ~ handleView ~ record:", record) console.log("🚀 ~ handleView ~ record:", record)
try { try {
detailData.value = [];
const res = await queryTdcsDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 }); const res = await queryTdcsDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 });
detailData.value = res.records; detailData.value = res.records;
console.log("🚀 ~ handleView ~ res:", res) console.log("🚀 ~ handleView ~ res:", res)
@ -126,6 +127,7 @@ const handleView = async (record) => {
dataSource.value = []; dataSource.value = [];
for (let i = 0; i < res.length; i++) { for (let i = 0; i < res.length; i++) {
dataSource.value.push({ dataSource.value.push({
rowNumber: res[i].rowNumber,
name: res[i].housingestateName, name: res[i].housingestateName,
value: res[i].cn, value: res[i].cn,
housingestateId: res[i].housingestateId, housingestateId: res[i].housingestateId,

View File

@ -31,7 +31,7 @@
</a-row> </a-row>
<Bar v-show="!izList" :chartData="dataSource" height="80vh" :option="{ title: { text: '小区投递重量排行榜', left: 'center' }}" :itemStyle="{ normal: {label : {show: true, position: 'top'}}}" :seriesName="'投递重量'"></Bar> <Bar v-show="!izList" :chartData="dataSource" height="80vh" :option="{ title: { text: '小区投递重量排行榜', left: 'center' }}" :itemStyle="{ normal: {label : {show: true, position: 'top'}}}" :seriesName="'投递重量'"></Bar>
<div v-show="izList" style="margin-top: 20px;"> <div v-show="izList" style="margin-top: 20px;">
<a-table :dataSource="dataSource" :columns="xzrsColumns" > <a-table :dataSource="dataSource" :columns="tdzlColumns" >
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a-button type="link" @click="handleView(record)">查看</a-button> <a-button type="link" @click="handleView(record)">查看</a-button>
@ -41,7 +41,7 @@
</div> </div>
</a-card> </a-card>
<!-- 查看详情弹窗 --> <!-- 查看详情弹窗 -->
<a-modal v-model:visible="detailVisible" title="投递次数详情" width="80%" :footer="null"> <a-modal v-model:visible="detailVisible" title="投递重量详情" width="80%" :footer="null">
<a-table :dataSource="detailData" :columns="detailTdcsColumns" rowKey="phone"> <a-table :dataSource="detailData" :columns="detailTdcsColumns" rowKey="phone">
</a-table> </a-table>
</a-modal> </a-modal>
@ -53,7 +53,7 @@
import Bar from '/@/components/chart/Bar.vue'; import Bar from '/@/components/chart/Bar.vue';
import { queryXqHyTdzlList,housingestateList,queryTdcsDetailList } from './HousingestateInfo.api'; import { queryXqHyTdzlList,housingestateList,queryTdcsDetailList } from './HousingestateInfo.api';
import type { Dayjs } from 'dayjs'; import type { Dayjs } from 'dayjs';
import { xzrsColumns , detailTdcsColumns } from './HousingestateInfo.data'; import { tdzlColumns , detailTdcsColumns } from './HousingestateInfo.data';
const valueFormat = 'YYYY-MM-DD'; const valueFormat = 'YYYY-MM-DD';
const dataSource = ref([]); const dataSource = ref([]);
const dateValue = ref(); const dateValue = ref();
@ -76,6 +76,7 @@ const detailData = ref([]);
const handleView = async (record) => { const handleView = async (record) => {
console.log("🚀 ~ handleView ~ record:", record) console.log("🚀 ~ handleView ~ record:", record)
try { try {
detailData.value = [];
const res = await queryTdcsDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 }); const res = await queryTdcsDetailList({ housingestateId: record.housingestateId,beginTime:parmas.beginTime,endTime:parmas.endTime,pageSize: -1 });
detailData.value = res.records; detailData.value = res.records;
console.log("🚀 ~ handleView ~ res:", res) console.log("🚀 ~ handleView ~ res:", res)
@ -125,6 +126,7 @@ const handleView = async (record) => {
dataSource.value = []; dataSource.value = [];
for (let i = 0; i < res.length; i++) { for (let i = 0; i < res.length; i++) {
dataSource.value.push({ dataSource.value.push({
rowNumber: res[i].rowNumber,
name: `${res[i].housingestateName}`, name: `${res[i].housingestateName}`,
value: res[i].weight, value: res[i].weight,
housingestateId: res[i].housingestateId, housingestateId: res[i].housingestateId,