预警通知列表接口对接

This commit is contained in:
付民康
2025-03-19 11:14:12 +08:00
parent d50ed3f2c1
commit 264af985d3
4 changed files with 111 additions and 22 deletions

View File

@@ -171,3 +171,25 @@ export function repoImport(data: types.commonRepoReqType){
})
);
}
// 个人中心-获取预警列表
export const getNoticeList = (data): Promise<any> => {
return reqCatchV2(() =>
request({
url: `/api/v1/alert/notice/list`,
method: 'POST',
data,
})
);
}
// 个人中心-获取组织级预警列表
export const getgroupNoticeList = (data): Promise<any> => {
return reqCatchV2(() =>
request({
url: `/api/v1/alert/group/notice/list`,
method: 'POST',
data,
})
);
}

View File

@@ -2,15 +2,18 @@
<Card simple class="jyh-card mt-3">
<div class="card-title">组织预警通知列表</div>
<div class="mb-3">
<d-table class="jyh-table jyh-table-2" :header-bg="true" :data="licenseTableData">
<d-column field="code" header="时间"></d-column>
<d-table v-if="tableData.length>0" class="jyh-table jyh-table-2" :header-bg="true" :data="tableData">
<d-column field="updateTime" header="时间">
<template #default="scope">
<span>{{ formatTime(scope.row.updateTime, 'YYYY-MM-DD') }}</span>
</template>
</d-column>
<d-column field="name" header="标题">
<template #default="scope">
<a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a>
</template>
</d-column>
<d-column field="detail" header="详情"></d-column>
<d-column field="owner" header="订阅人"></d-column>
<d-column field="alertMsg" header="详情"></d-column>
<d-column field="level" header="级别">
<template #default="scope, text">
<d-status v-if="scope.row.level === 4" type="error">危险</d-status>
@@ -26,7 +29,17 @@
</template>
</d-column>
</d-table>
<NoData v-else :small="false"></NoData>
</div>
<div class="mt-20 mb-20 flex justify-end">
<d-pagination size="md" :page-size-options="[10, 20, 50]" :total="pager.total"
v-model:pageSize="pager.pageSize" v-model:pageIndex="pager.pageIndex" :max-items="5"
:can-change-page-size="true" :can-view-total="true" total-item-text="总计" @page-index-change="changeIndex()"
@page-size-change="changeSize()" />
</div>
</Card>
<d-modal class="warning-modal" v-model="warningModalVisable" title="">
@@ -35,16 +48,22 @@
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { onMounted, ref } from 'vue';
import EarlyWarningDetail from '@/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue';
import NoData from "@/components/NoData/NoData.vue";
import { getgroupNoticeList, getNoticeList } from '@/api/jyh';
const licenseTableData = ref([
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 4, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 3, status: 2 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 2, status: 2 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 1, status: 2 }
const tableData = ref([
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 4, status: 1 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 3, status: 2 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 1, status: 2 }
]);
const pager = ref({
total: 0,
pageIndex: 1,
pageSize: 10
});
const warningModalVisable = ref(false);
const currentWarning = ref();
const openWarningDetail = (row) => {
@@ -54,6 +73,20 @@ const openWarningDetail = (row) => {
const colseWarningDetail = () => {
warningModalVisable.value = false;
};
const getList = async() => {
const { data, error } = await getgroupNoticeList({ current: 1,size: pager.value.pageSize });
if (!error && data) {
tableData.value = data.data.data.records;
pager.value.total = data.data.data.total;
}
};
onMounted(async() => {
getList();
});
</script>
<style scoped lang="scss">

View File

@@ -2,14 +2,18 @@
<Card simple class="jyh-card mt-3">
<div class="card-title">个人预警通知列表</div>
<div class="mb-3">
<d-table class="jyh-table jyh-table-2" :header-bg="true" :data="licenseTableData">
<d-column field="code" header="时间"></d-column>
<d-table v-if="tableData.length>0" class="jyh-table jyh-table-2" :header-bg="true" :data="tableData">
<d-column field="updateTime" header="时间">
<template #default="scope">
<span>{{ formatTime(scope.row.updateTime, 'YYYY-MM-DD') }}</span>
</template>
</d-column>
<d-column field="name" header="标题">
<template #default="scope">
<a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a>
</template>
</d-column>
<d-column field="detail" header="详情"></d-column>
<d-column field="alertMsg" header="详情"></d-column>
<d-column field="level" header="级别">
<template #default="scope, text">
<d-status v-if="scope.row.level === 4" type="error">危险</d-status>
@@ -25,7 +29,17 @@
</template>
</d-column>
</d-table>
<NoData v-else :small="false"></NoData>
</div>
<div class="mt-20 mb-20 flex justify-end">
<d-pagination size="md" :page-size-options="[10, 20, 50]" :total="pager.total"
v-model:pageSize="pager.pageSize" v-model:pageIndex="pager.pageIndex" :max-items="5"
:can-change-page-size="true" :can-view-total="true" total-item-text="总计" @page-index-change="changeIndex()"
@page-size-change="changeSize()" />
</div>
</Card>
<d-modal class="warning-modal" v-model="warningModalVisable" title="">
@@ -34,16 +48,22 @@
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { onMounted, ref } from 'vue';
import EarlyWarningDetail from '@/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue';
import NoData from "@/components/NoData/NoData.vue";
import { getNoticeList } from '@/api/jyh';
const licenseTableData = ref([
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 4, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 3, status: 2 },
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 1, status: 2 }
const tableData = ref([
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 4, status: 1 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 3, status: 2 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 },
// { code: '05822156', name: 'MIT License', detail: 'integer', level: 1, status: 2 }
]);
const pager = ref({
total: 0,
pageIndex: 1,
pageSize: 10
});
const warningModalVisable = ref(false);
const currentWarning = ref();
const openWarningDetail = (row) => {
@@ -53,6 +73,20 @@ const openWarningDetail = (row) => {
const colseWarningDetail = () => {
warningModalVisable.value = false;
};
const getList = async() => {
const { data, error } = await getNoticeList({ current: 1,size: pager.value.pageSize });
if (!error && data) {
tableData.value = data.data.data.records;
pager.value.total = data.data.data.total;
}
};
onMounted(async() => {
getList();
});
</script>
<style scoped lang="scss">

View File

@@ -219,7 +219,7 @@ const currentReusltFilter = ref(null);
// 定义 tableKey用于强制刷新表格
const tableKey = ref(0);
const pager = ref({
total: 10,
total: 0,
pageIndex: 1,
pageSize: 10
});