🐛 左边数据模拟少一个
This commit is contained in:
parent
180bc3c406
commit
fb6b427430
|
@ -11,12 +11,15 @@ export default defineFakeRoute([
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
response: () => ({
|
response: () => ({
|
||||||
code: 200,
|
code: 200,
|
||||||
data: [
|
data: {
|
||||||
{ name: '设备类型一', outside: randomNumber(), connect: randomNumber() },
|
list: [
|
||||||
{ name: '设备类型二', outside: randomNumber(), connect: randomNumber() },
|
{ name: '设备类型一', outside: randomNumber(), connect: randomNumber() },
|
||||||
{ name: '设备类型三', outside: randomNumber(), connect: randomNumber() },
|
{ name: '设备类型二', outside: randomNumber(), connect: randomNumber() },
|
||||||
{ name: '设备类型四', outside: randomNumber(), connect: randomNumber() },
|
{ name: '设备类型三', outside: randomNumber(), connect: randomNumber() },
|
||||||
],
|
{ name: '设备类型四', outside: randomNumber(), connect: randomNumber() },
|
||||||
|
],
|
||||||
|
total: randomNumber(9999),
|
||||||
|
},
|
||||||
message: '操作成功',
|
message: '操作成功',
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,18 +13,17 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const moneyString: string = props.separator ? formatter(props.money) : props.money.toString();
|
|
||||||
const moneyStringList = moneyString
|
|
||||||
.split(/(\d,)/g)
|
|
||||||
.filter((item) => item !== '')
|
|
||||||
.map((item) => (!item.includes(',') ? item.split('') : item))
|
|
||||||
.flat();
|
|
||||||
|
|
||||||
return () => (
|
return () => (
|
||||||
<div className={'mb-[20px]'}>
|
<div className={'mb-[20px]'}>
|
||||||
{moneyStringList.map((item, index) => (
|
{(props.separator ? formatter(props.money) : props.money.toString())
|
||||||
<span key={index}>{item}</span>
|
.split(/(\d,)/g)
|
||||||
))}
|
.filter((item) => item !== '')
|
||||||
|
.map((item) => (!item.includes(',') ? item.split('') : item))
|
||||||
|
.flat()
|
||||||
|
.map((item, index) => (
|
||||||
|
<span key={index}>{item}</span>
|
||||||
|
))}
|
||||||
|
{/* {moneyStringList.value?.map((item, index) => <span key={index}>{item}</span>)} */}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
@ -10,18 +10,19 @@ import {
|
||||||
export const useCommunityStore = defineStore('communityStore', {
|
export const useCommunityStore = defineStore('communityStore', {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
// 设备总数
|
// 设备总数
|
||||||
devicesList: [],
|
devicesList: { list: [], total: 0 },
|
||||||
// 预警概览
|
// 预警概览
|
||||||
alarmOverviewList: [],
|
alarmOverviewList: [],
|
||||||
// 统计列表
|
// 统计列表
|
||||||
statisticsList: [],
|
statisticsList: [],
|
||||||
// 设备状态
|
// 设备状态
|
||||||
deviceStatus: { devcies: [], security: undefined },
|
deviceStatus: { devcies: [], security: 0 },
|
||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
/* 设备总数 */
|
/* 设备总数 */
|
||||||
async fetchCommunityDevicesAmount() {
|
async fetchCommunityDevicesAmount() {
|
||||||
const result = await getCommunityDevicesAmount();
|
const result = await getCommunityDevicesAmount();
|
||||||
|
|
||||||
this.devicesList = result;
|
this.devicesList = result;
|
||||||
},
|
},
|
||||||
/* 预警概览 */
|
/* 预警概览 */
|
||||||
|
|
|
@ -7,7 +7,6 @@ import { debounceChart } from '@/utils/chart';
|
||||||
let myChart = null;
|
let myChart = null;
|
||||||
|
|
||||||
const option = ref<EChartsOption>({
|
const option = ref<EChartsOption>({
|
||||||
grid: { top: 0, right: 0, bottom: -100, left: 0, containLabel: true },
|
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
type: 'gauge',
|
type: 'gauge',
|
||||||
|
@ -48,8 +47,8 @@ const option = ref<EChartsOption>({
|
||||||
},
|
},
|
||||||
axisLabel: { show: false },
|
axisLabel: { show: false },
|
||||||
detail: {
|
detail: {
|
||||||
fontSize: 18,
|
fontSize: 24,
|
||||||
offsetCenter: [0, '-9%'],
|
offsetCenter: [0, '9%'],
|
||||||
valueAnimation: true,
|
valueAnimation: true,
|
||||||
formatter: function (value) {
|
formatter: function (value) {
|
||||||
return Math.round(value * 100) + '\n安全指数';
|
return Math.round(value * 100) + '\n安全指数';
|
||||||
|
|
|
@ -50,15 +50,13 @@ export const renderBodyChart = (element: Ref<HTMLDivElement>) => {
|
||||||
/** 更新图标数据 */
|
/** 更新图标数据 */
|
||||||
export const updateBodyChart = (props: any) => {
|
export const updateBodyChart = (props: any) => {
|
||||||
const series = myChart?.getOption()?.series;
|
const series = myChart?.getOption()?.series;
|
||||||
series[0].data = props.list.map((item, index) => ({
|
series[0].data = props.list?.map((item, index) => ({
|
||||||
name: item.name,
|
name: item.name,
|
||||||
value: item.value,
|
value: item.value,
|
||||||
itemStyle: { color: colors[index], borderRadius: 10 },
|
itemStyle: { color: colors[index], borderRadius: 10 },
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const total = props.list.reduce((old, item) => old + item.value, 0);
|
const total = props.list.reduce((old, item) => old + item.value, 0);
|
||||||
// const angleAxis = myChart?.getOption()?.angleAxis;
|
|
||||||
// angleAxis[0].max = undefined;
|
|
||||||
|
|
||||||
const title = myChart?.getOption()?.title;
|
const title = myChart?.getOption()?.title;
|
||||||
title[0].text = total;
|
title[0].text = total;
|
||||||
|
|
|
@ -42,9 +42,9 @@ onMounted(() => {
|
||||||
<div class="community__sidebar-item">
|
<div class="community__sidebar-item">
|
||||||
<CommonPanel title="设备总数">
|
<CommonPanel title="设备总数">
|
||||||
<div class="community__sidebar-digital">
|
<div class="community__sidebar-digital">
|
||||||
<DigitalNumber :money="1964" />
|
<DigitalNumber :money="devicesList?.total" />
|
||||||
|
|
||||||
<div v-for="(item, index) in devicesList" :key="index" class="progress-list">
|
<div v-for="(item, index) in devicesList?.list" :key="index" class="progress-list">
|
||||||
<LeftHeaderChart
|
<LeftHeaderChart
|
||||||
:data-left="calculateDevicePercent(item.connect, item.outside)"
|
:data-left="calculateDevicePercent(item.connect, item.outside)"
|
||||||
:data-right="calculateDevicePercent(item.outside, item.connect)"
|
:data-right="calculateDevicePercent(item.outside, item.connect)"
|
||||||
|
@ -73,13 +73,15 @@ onMounted(() => {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
align-items: flex-end;
|
||||||
|
justify-content: space-around;
|
||||||
|
|
||||||
.progress-list {
|
.progress-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
margin: 14px 0 0 0;
|
margin: 14px 0 0 0;
|
||||||
|
width: 100%;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
:deep(.progress) {
|
:deep(.progress) {
|
||||||
|
|
Loading…
Reference in New Issue