预警通知列表接口对接

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"> <Card simple class="jyh-card mt-3">
<div class="card-title">组织预警通知列表</div> <div class="card-title">组织预警通知列表</div>
<div class="mb-3"> <div class="mb-3">
<d-table class="jyh-table jyh-table-2" :header-bg="true" :data="licenseTableData"> <d-table v-if="tableData.length>0" class="jyh-table jyh-table-2" :header-bg="true" :data="tableData">
<d-column field="code" header="时间"></d-column> <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="标题"> <d-column field="name" header="标题">
<template #default="scope"> <template #default="scope">
<a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a> <a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a>
</template> </template>
</d-column> </d-column>
<d-column field="detail" header="详情"></d-column> <d-column field="alertMsg" header="详情"></d-column>
<d-column field="owner" header="订阅人"></d-column>
<d-column field="level" header="级别"> <d-column field="level" header="级别">
<template #default="scope, text"> <template #default="scope, text">
<d-status v-if="scope.row.level === 4" type="error">危险</d-status> <d-status v-if="scope.row.level === 4" type="error">危险</d-status>
@@ -26,7 +29,17 @@
</template> </template>
</d-column> </d-column>
</d-table> </d-table>
<NoData v-else :small="false"></NoData>
</div> </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> </Card>
<d-modal class="warning-modal" v-model="warningModalVisable" title=""> <d-modal class="warning-modal" v-model="warningModalVisable" title="">
@@ -35,16 +48,22 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { onMounted, ref } from 'vue';
import EarlyWarningDetail from '@/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.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([ const tableData = ref([
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 4, status: 1 }, // { code: '05822156', name: 'MIT License', detail: 'integer', level: 4, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 3, status: 2 }, // { code: '05822156', name: 'MIT License', detail: 'integer', level: 3, status: 2 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 2, status: 2 }, // { code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', owner: 'admin', level: 1, status: 2 } // { 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 warningModalVisable = ref(false);
const currentWarning = ref(); const currentWarning = ref();
const openWarningDetail = (row) => { const openWarningDetail = (row) => {
@@ -54,6 +73,20 @@ const openWarningDetail = (row) => {
const colseWarningDetail = () => { const colseWarningDetail = () => {
warningModalVisable.value = false; 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> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -2,14 +2,18 @@
<Card simple class="jyh-card mt-3"> <Card simple class="jyh-card mt-3">
<div class="card-title">个人预警通知列表</div> <div class="card-title">个人预警通知列表</div>
<div class="mb-3"> <div class="mb-3">
<d-table class="jyh-table jyh-table-2" :header-bg="true" :data="licenseTableData"> <d-table v-if="tableData.length>0" class="jyh-table jyh-table-2" :header-bg="true" :data="tableData">
<d-column field="code" header="时间"></d-column> <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="标题"> <d-column field="name" header="标题">
<template #default="scope"> <template #default="scope">
<a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a> <a @click="openWarningDetail(scope.row)">{{ scope.row.name }}</a>
</template> </template>
</d-column> </d-column>
<d-column field="detail" header="详情"></d-column> <d-column field="alertMsg" header="详情"></d-column>
<d-column field="level" header="级别"> <d-column field="level" header="级别">
<template #default="scope, text"> <template #default="scope, text">
<d-status v-if="scope.row.level === 4" type="error">危险</d-status> <d-status v-if="scope.row.level === 4" type="error">危险</d-status>
@@ -25,7 +29,17 @@
</template> </template>
</d-column> </d-column>
</d-table> </d-table>
<NoData v-else :small="false"></NoData>
</div> </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> </Card>
<d-modal class="warning-modal" v-model="warningModalVisable" title=""> <d-modal class="warning-modal" v-model="warningModalVisable" title="">
@@ -34,16 +48,22 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { onMounted, ref } from 'vue';
import EarlyWarningDetail from '@/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.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([ const tableData = ref([
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 4, status: 1 }, // { 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: 3, status: 2 },
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 }, // { code: '05822156', name: 'MIT License', detail: 'integer', level: 2, status: 1 },
{ code: '05822156', name: 'MIT License', detail: 'integer', level: 1, status: 2 } // { 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 warningModalVisable = ref(false);
const currentWarning = ref(); const currentWarning = ref();
const openWarningDetail = (row) => { const openWarningDetail = (row) => {
@@ -53,6 +73,20 @@ const openWarningDetail = (row) => {
const colseWarningDetail = () => { const colseWarningDetail = () => {
warningModalVisable.value = false; 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> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

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