类型:开发

描述:
This commit is contained in:
2025-05-01 16:00:33 +08:00
parent 5563dc0536
commit a1277eb04d
8 changed files with 72 additions and 50 deletions

View File

@@ -7,11 +7,11 @@ export const useScenicStore = defineStore('scenic', () => {
// 门票销售数据 // 门票销售数据
let scenicSpotData = ref({ let scenicSpotData = ref({
data: [ data: [
{ name: '预今日票', value: 0 }, { name: '预今日票', value: 0 },
{ name: '今日购票数', value: 0 }, { name: '今日购票数', value: 0 },
{ name: '预订未来三天票数', value: 0 },
// { name: '购三天后票数', value: 0 } { name: '预订未来十五天票数', value: 0 }
], ],
infoList: [ infoList: [
{ name: '游玩舒适度', type: 0, value: '空闲' }, { name: '游玩舒适度', type: 0, value: '空闲' },
@@ -21,7 +21,7 @@ export const useScenicStore = defineStore('scenic', () => {
] ]
}) })
// 景区排队信息 // 景区排队信息
let scenicQueueData = ref({ dataList: [], header: { jrcp: 0, jrjdrs: 0,jrjdcy:0, pdcxsj: 0, pdrs: 0 } }) let scenicQueueData = ref({ dataList: [], header: { jrcp: 0, jrjdrs: 0,jrjdcy:0, pdcxsj: 0, pdrs: 0,pdrs_type:0 } })
// 景区负载信息 // 景区负载信息
let scenicBearData = ref({ dataList: [], header: { jqRate: 0, jqzdcz: 0, jrjdrs: 0 } }) let scenicBearData = ref({ dataList: [], header: { jqRate: 0, jqzdcz: 0, jrjdrs: 0 } })
// 景区停车信息 // 景区停车信息

View File

@@ -76,7 +76,7 @@
let isDiy = ref(0) let isDiy = ref(0)
let params = reactive({ let params = reactive({
pageNum: 1, pageNum: 1,
pageSize: 15, pageSize: 6,
businessScenicArea:'', businessScenicArea:'',
}) })
@@ -137,7 +137,6 @@
let cond = ref(false) let cond = ref(false)
const getVideoList = async () => { const getVideoList = async () => {
let res = await getSpotVideoEvents(params) let res = await getSpotVideoEvents(params)
console.log(res,'rrrrrrrrr')
list.value = res.data list.value = res.data
total.value = res.total total.value = res.total
setTimeout(()=>{cond.value = true},1500) setTimeout(()=>{cond.value = true},1500)

View File

@@ -24,9 +24,9 @@
> >
<span class="statistic-title">{{ item.name }}</span> <span class="statistic-title">{{ item.name }}</span>
<span v-if="item.value > 0" class="statistic-value"> <span v-if="item.value > 0" class="statistic-value">
<span class="prefix">排队</span> <span class="prefix" :class="{ active: item.type == 2}">排队</span>
<countup class="value" :end-val="item.value" /> <countup class="value" :class="{ active: item.type == 2}" :end-val="item.value" />
<span class="suffix"></span> <span class="suffix" :class="{ active: item.type == 2}"></span>
</span> </span>
<span v-else class="statistic-value">暂无</span> <span v-else class="statistic-value">暂无</span>
</div> </div>
@@ -257,6 +257,7 @@
&:nth-child(1) { &:nth-child(1) {
margin-right: vw(10); margin-right: vw(10);
} }
.statistic { .statistic {
display: flex; display: flex;
margin-top: vh(12); margin-top: vh(12);
@@ -287,11 +288,13 @@
.value { .value {
font-weight: bold; font-weight: bold;
font-size: vw(28); font-size: vw(28);
}
.active{
color: #ff4400; color: #ff4400;
} }
.prefix, .prefix,
.suffix { .suffix {
color: #ff4400;
font-size: vw(12); font-size: vw(12);
margin-bottom: vh(4); margin-bottom: vh(4);
} }

View File

@@ -370,7 +370,6 @@
color: #ffffff; color: #ffffff;
} }
.error { .error {
color: #F15A25;
color:#DCBB48; color:#DCBB48;
} }
.success { .success {

View File

@@ -70,7 +70,6 @@
homeStore.setTrafficInfoData(val) homeStore.setTrafficInfoData(val)
break break
case 'carStopInfo': case 'carStopInfo':
console.log(val,'carStopInfocarStopInfocarStopInfocarStopInfocarStopInfo')
homeStore.setCarStopInfoData(val) homeStore.setCarStopInfoData(val)
break break
case 'carShipData': case 'carShipData':
@@ -97,6 +96,13 @@
scenicSpotId: '' scenicSpotId: ''
}) })
) )
sendMessage(
JSON.stringify({
action: 'start',
type: 'queuingInScenicSpots',
scenicSpotId: ''
})
)
sendMessage( sendMessage(
JSON.stringify({ JSON.stringify({
action: 'start', action: 'start',

View File

@@ -19,7 +19,7 @@
</div> </div>
<div class="traffic-item"> <div class="traffic-item">
<span class="traffic-item__title">异常点位 </span> <span class="traffic-item__title">异常点位 </span>
<countup class="traffic-item__value--error" :end-val="aiAnalyzeData.abnormalPoints" /> <countup :class="aiAnalyzeData.abnormalPoints>0?'traffic-item__value--error':'traffic-item__value--success'" :end-val="aiAnalyzeData.abnormalPoints" />
</div> </div>
</div> </div>
<Title1 title="景区智能AI分析" /> <Title1 title="景区智能AI分析" />
@@ -131,7 +131,7 @@
<div class="monitor-statistics-item"> <div class="monitor-statistics-item">
<span class="monitor-statistics-item__label">异常点位</span> <span class="monitor-statistics-item__label">异常点位</span>
<countup <countup
class="monitor-statistics-item__value" :class="pointAlarmData.abnormalPoints>0?'monitor-statistics-item__error':'monitor-statistics-item__value'"
:end-val="pointAlarmData.abnormalPoints" :end-val="pointAlarmData.abnormalPoints"
/> />
</div> </div>
@@ -153,23 +153,23 @@
<div class="traffic-alarm-statistics"> <div class="traffic-alarm-statistics">
<img class="traffic-alarm-statistics-icon" src="@/assets/images/t-ico-2.png" /> <img class="traffic-alarm-statistics-icon" src="@/assets/images/t-ico-2.png" />
<div class="traffic-alarm-statistics-item"> <div class="traffic-alarm-statistics-item">
<span class="traffic-alarm-statistics-item__label">当前告警总数</span> <span class="traffic-alarm-statistics-item__label">当前告警</span>
<countup <countup
class="traffic-alarm-statistics-item__value" :class="pointAlarmData.abnormalAlarm>0?'traffic-alarm-statistics-item__error':'traffic-alarm-statistics-item__value'"
:end-val="pointAlarmData.abnormalAlarm" :end-val="pointAlarmData.abnormalAlarm"
/> />
</div> </div>
<div class="traffic-alarm-statistics-item"> <div :class="pointAlarmData.allAbnormalAlarm>0?'traffic-alarm-statistics-item__error':'traffic-alarm-statistics-item__value'">
<span class="traffic-alarm-statistics-item__label">异常告警总数</span> <span class="traffic-alarm-statistics-item__label">异常告警</span>
<countup <countup
class="traffic-alarm-statistics-item__value" class="traffic-alarm-statistics-item__value"
:end-val="pointAlarmData.allAbnormalAlarm" :end-val="pointAlarmData.allAbnormalAlarm"
/> />
</div> </div>
<div class="traffic-alarm-statistics-item"> <div class="traffic-alarm-statistics-item">
<span class="traffic-alarm-statistics-item__label">已解除告警总数</span> <span class="traffic-alarm-statistics-item__label">已解除告警</span>
<countup <countup
class="traffic-alarm-statistics-item__value" :class="pointAlarmData.handled>0?'traffic-alarm-statistics-item__error':'traffic-alarm-statistics-item__value'"
:end-val="pointAlarmData.handled" :end-val="pointAlarmData.handled"
/> />
</div> </div>
@@ -394,9 +394,12 @@
color: #ffffff; color: #ffffff;
} }
&:nth-child(4) { &:nth-child(4) {
.monitor-statistics-item__value { .monitor-statistics-item__error {
color: #e21b1b; color: #e21b1b;
} }
.monitor-statistics-item__value {
color: #02f9fa;
}
} }
} }
} }
@@ -424,7 +427,14 @@
margin-top: vh(10); margin-top: vh(10);
font-weight: bold; font-weight: bold;
font-size: vw(24); font-size: vw(24);
color: #e21b1b; color: #02f9fa;
text-align: center;
}
&__error {
margin-top: vh(10);
font-weight: bold;
font-size: vw(24);
color: #ff4400;
text-align: center; text-align: center;
} }
&:nth-child(4) { &:nth-child(4) {
@@ -644,6 +654,12 @@
font-size: vw(24); font-size: vw(24);
color: #02f9fa; color: #02f9fa;
} }
&-error{
margin-top: vh(10);
font-weight: bold;
font-size: vw(24);
color: #ff4400;
}
.count { .count {
font-weight: bold; font-weight: bold;
font-size: vw(28); font-size: vw(28);

View File

@@ -16,7 +16,7 @@
<div> <div>
<div v-for="(item, index) in scenicStore.scenicSpotData.infoList" :key="index"> <div v-for="(item, index) in scenicStore.scenicSpotData.infoList" :key="index">
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
<p class="value" :class="{ error: [3, 4].includes(item.type) }">{{ item.value }}</p> <p class="value" :class="{ error: item.type==2,warning: item.type==1 }">{{ item.value }}</p>
</div> </div>
</div> </div>
</div> </div>
@@ -65,7 +65,7 @@
<div> <div>
<div class="bg"> <div class="bg">
<span class="label">今日紧急工单数</span> <span class="label">今日紧急工单数</span>
<span class="value error"> <span class="value" :class="scenicStore.wordkOrderData.warnData.count>1?'error':'success'">
<countup :end-val="scenicStore.wordkOrderData.warnData.count" /> <countup :end-val="scenicStore.wordkOrderData.warnData.count" />
</span> </span>
</div> </div>
@@ -266,6 +266,9 @@ import pubSub from 'pubsub-js'
text-align: center; text-align: center;
line-height: vh(60); line-height: vh(60);
} }
.warning {
color:#DCBB48;;
}
.error { .error {
color: #ff4400; color: #ff4400;
} }
@@ -487,7 +490,7 @@ import pubSub from 'pubsub-js'
.header { .header {
height: vh(28); height: vh(28);
font-weight: 400; font-weight: 400;
font-size: vw(12); font-size: vw(24);
color: #fff; color: #fff;
display: flex; display: flex;
background: linear-gradient(180deg, rgba(0, 99, 255, 0) 0%, #0063ff 100%); background: linear-gradient(180deg, rgba(0, 99, 255, 0) 0%, #0063ff 100%);
@@ -517,7 +520,7 @@ import pubSub from 'pubsub-js'
.item { .item {
height: vh(50); height: vh(50);
font-weight: 400; font-weight: 400;
font-size: vw(14); font-size: vw(24);
color: #f1f7ff; color: #f1f7ff;
display: flex; display: flex;
&:nth-child(2n + 1) { &:nth-child(2n + 1) {

View File

@@ -17,13 +17,9 @@
<count-item <count-item
label="排队人数" label="排队人数"
:count="scenicStore.scenicQueueData.header.pdrs" :count="scenicStore.scenicQueueData.header.pdrs"
:color="scenicStore.scenicQueueData.header.pdrs_type == 0 ? '' : '#E21B1B'"
suffix="人" suffix="人"
/> />
<!-- <count-item
label="排队持续时间"
:count="scenicStore.scenicQueueData.header.pdcxsj"
suffix="分钟"
/> -->
</div> </div>
<div class="border"> <div class="border">
<div class="pt-10"> <div class="pt-10">