|
|
@@ -325,6 +325,7 @@ const largeScreenStats = ref<LargeScreenStat[]>([
|
|
|
label: '老人数量',
|
|
|
trend: 'up',
|
|
|
change: '',
|
|
|
+ clickable: true,
|
|
|
indicator: 'elderCount'
|
|
|
},
|
|
|
{
|
|
|
@@ -336,14 +337,14 @@ const largeScreenStats = ref<LargeScreenStat[]>([
|
|
|
clickable: true,
|
|
|
indicator: 'deviceCount'
|
|
|
},
|
|
|
- {
|
|
|
- icon: 'mdi:shield-check',
|
|
|
- value: 0,
|
|
|
- label: '在线设备',
|
|
|
- trend: 'up',
|
|
|
- change: '100%',
|
|
|
- indicator: 'onlineCount'
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // icon: 'mdi:shield-check',
|
|
|
+ // value: 0,
|
|
|
+ // label: '在线设备',
|
|
|
+ // trend: 'up',
|
|
|
+ // change: '100%',
|
|
|
+ // indicator: 'onlineCount'
|
|
|
+ // },
|
|
|
{
|
|
|
icon: 'mdi:alert-decagram',
|
|
|
value: 0,
|
|
|
@@ -472,31 +473,30 @@ const openHandleWarningDialog = (elderly: Elderly) => {
|
|
|
}
|
|
|
|
|
|
const submitHandleWarning = async (data: any) => {
|
|
|
- if (data.handleType === 'report') {
|
|
|
- let params = {
|
|
|
- elderId: data.elderId,
|
|
|
- remarks: data.message
|
|
|
- }
|
|
|
- try {
|
|
|
- const res = await fetchHttp.post('/api/pc/admin/processAlert', params, {
|
|
|
- headers: {
|
|
|
- Authorization: `Bearer ${getAccessToken()}`
|
|
|
- }
|
|
|
- })
|
|
|
- if (res) {
|
|
|
- ElMessage.success('告警情况已上报!')
|
|
|
- clearWarningFlag(data.elderId)
|
|
|
- handleWarningDialogVisible.value = false
|
|
|
- if (selectedElderly.value.id === data.elderId) {
|
|
|
- await getElderDeviceMessage(selectedElderly.value.id)
|
|
|
- }
|
|
|
- } else {
|
|
|
- ElMessage.error('处理失败,请重试')
|
|
|
+ // 电话回访与上报告警均可确认处理,并上送 elderId 与上报信息(remarks)
|
|
|
+ const params = {
|
|
|
+ elderId: data.elderId,
|
|
|
+ remarks: data.message || ''
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ const res = await fetchHttp.post('/api/pc/admin/processAlert', params, {
|
|
|
+ headers: {
|
|
|
+ Authorization: `Bearer ${getAccessToken()}`
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (res) {
|
|
|
+ ElMessage.success(data.handleType === 'report' ? '告警情况已上报!' : '电话回访已确认!')
|
|
|
+ clearWarningFlag(data.elderId)
|
|
|
+ handleWarningDialogVisible.value = false
|
|
|
+ if (selectedElderly.value.id === data.elderId) {
|
|
|
+ await getElderDeviceMessage(selectedElderly.value.id)
|
|
|
}
|
|
|
- } catch (error) {
|
|
|
- console.error('处理告警失败:', error)
|
|
|
- ElMessage.error('处理告警时出现错误')
|
|
|
+ } else {
|
|
|
+ ElMessage.error('处理失败,请重试')
|
|
|
}
|
|
|
+ } catch (error) {
|
|
|
+ console.error('处理告警失败:', error)
|
|
|
+ ElMessage.error('处理告警时出现错误')
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -514,6 +514,11 @@ const showDeviceDetail = async (device: DetailDevice) => {
|
|
|
}
|
|
|
|
|
|
const handleStatCardClick = (stat: LargeScreenStat) => {
|
|
|
+ // 点击老人数量:回到总览视图
|
|
|
+ if (stat.indicator === 'elderCount') {
|
|
|
+ backToOverview()
|
|
|
+ return
|
|
|
+ }
|
|
|
// 点击设备总数:切换到全部设备视图
|
|
|
if (stat.indicator === 'deviceCount') {
|
|
|
openAllDevicesView()
|
|
|
@@ -1210,7 +1215,7 @@ $bg-accent-2: rgb(123 97 255 / 25%);
|
|
|
border: none;
|
|
|
border-radius: 50%;
|
|
|
color: #fff;
|
|
|
- background: rgb(26 31 46 / 90%);
|
|
|
+ background: var(--el-color-warning);
|
|
|
box-shadow: 0 6px 18px rgb(0 0 0 / 35%);
|
|
|
backdrop-filter: blur(6px);
|
|
|
z-index: 999;
|
|
|
@@ -1220,7 +1225,7 @@ $bg-accent-2: rgb(123 97 255 / 25%);
|
|
|
.realtime-fab:hover {
|
|
|
transform: translateY(-2px);
|
|
|
box-shadow: 0 10px 26px rgb(0 0 0 / 45%);
|
|
|
- background: rgb(26 115 232 / 30%);
|
|
|
+ background: #ffb74d;
|
|
|
}
|
|
|
|
|
|
.realtime-fab:active {
|