|
@@ -1,119 +1,126 @@
|
|
|
<template>
|
|
|
<div class="home_count">
|
|
|
<div class="warning-title">
|
|
|
- <div>报警管理</div>
|
|
|
+ <div>通知列表</div>
|
|
|
<a-button type="link" @click="leaveFor('/motoring/report')">更多</a-button>
|
|
|
</div>
|
|
|
- <a-table :columns="columns" :data-source="dataSource" size="small" :pagination="false" :scroll="{ y: 260 }">
|
|
|
+ <a-table
|
|
|
+ :columns="columns"
|
|
|
+ :data-source="dataSource"
|
|
|
+ size="small"
|
|
|
+ :pagination="false"
|
|
|
+ :scroll="{ y: 260 }"
|
|
|
+ :loading="loading"
|
|
|
+ >
|
|
|
<template #bodyCell="{ column, record }">
|
|
|
- <template v-if="column.dataIndex === 'state'">
|
|
|
- <span>
|
|
|
- <a-tag :color="record.state == '1' ? '#87d068' : record.state == '2' ? '#cd201f' : '#50cd7c'">
|
|
|
- {{ record.stateVlaue }}
|
|
|
- </a-tag>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
<template v-if="column.dataIndex === 'action'">
|
|
|
- <a-button type="link" size="small">编辑</a-button>
|
|
|
+ <a-button type="link" size="small" @click="handlerEdit(record)">编辑</a-button>
|
|
|
<a-divider type="vertical" />
|
|
|
<a-popconfirm title="删除此数据?" @confirm="deleteData(record)">
|
|
|
<a-button type="link" danger size="small">删除</a-button>
|
|
|
</a-popconfirm>
|
|
|
<a-divider type="vertical" />
|
|
|
- <a-button type="link" size="small">记录</a-button>
|
|
|
</template>
|
|
|
</template>
|
|
|
</a-table>
|
|
|
+
|
|
|
+ <DetailModal ref="detailModalRef" @successful="loadData" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="SysWarningCard">
|
|
|
- import bizIndexApi from '@/api/biz/bizIndexApi'
|
|
|
+ import { debounce } from 'lodash-es'
|
|
|
+ import DetailModal from '@/views/motoring/report/components/DetailModal.vue'
|
|
|
+ import { getList, deleteMonitornotice } from '@/api/coldchain/monitornotice'
|
|
|
import router from '@/router'
|
|
|
const columns = [
|
|
|
{
|
|
|
- title: '时间',
|
|
|
- dataIndex: 'createTime',
|
|
|
- ellipsis: true
|
|
|
- },
|
|
|
- {
|
|
|
- title: '名称',
|
|
|
+ title: '通知标题',
|
|
|
dataIndex: 'title',
|
|
|
+ align: 'center',
|
|
|
ellipsis: true
|
|
|
},
|
|
|
{
|
|
|
- title: '报警原因',
|
|
|
- dataIndex: 'reason',
|
|
|
- ellipsis: true
|
|
|
+ title: '通知类型',
|
|
|
+ dataIndex: 'type',
|
|
|
+ align: 'center',
|
|
|
+ ellipsis: true,
|
|
|
+ customRender({ value }) {
|
|
|
+ return value == '1' ? '系统' : '预警'
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
- title: '状态',
|
|
|
- dataIndex: 'state',
|
|
|
+ title: '通知内容',
|
|
|
+ dataIndex: 'content',
|
|
|
+ align: 'center',
|
|
|
ellipsis: true
|
|
|
},
|
|
|
{
|
|
|
- title: '操作',
|
|
|
- dataIndex: 'action',
|
|
|
+ title: '传感器路数',
|
|
|
+ dataIndex: 'sensorRoute',
|
|
|
align: 'center',
|
|
|
- width: '200px'
|
|
|
- }
|
|
|
- ]
|
|
|
- const dataSource = ref([
|
|
|
- {
|
|
|
- createTime: '2024-09-28 07:03:24',
|
|
|
- title: 'ABSL-1超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
- },
|
|
|
- {
|
|
|
- createTime: '2024-09-28 09:21:51',
|
|
|
- title: 'ABSL-2超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
- },
|
|
|
- {
|
|
|
- createTime: '2024-09-28 11:06:20',
|
|
|
- title: 'ABSL-3超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
+ ellipsis: true
|
|
|
},
|
|
|
{
|
|
|
- createTime: '2024-09-28 11:54:19',
|
|
|
- title: 'ABSL-4超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
+ title: '创建人',
|
|
|
+ dataIndex: 'createUserName',
|
|
|
+ align: 'center',
|
|
|
+ ellipsis: true
|
|
|
},
|
|
|
{
|
|
|
- createTime: '2024-09-28 16:17:36',
|
|
|
- title: 'ABSL-5超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
+ title: '创建时间',
|
|
|
+ dataIndex: 'createTime',
|
|
|
+ align: 'center',
|
|
|
+ ellipsis: true
|
|
|
},
|
|
|
{
|
|
|
- createTime: '2024-09-28 19:35:58',
|
|
|
- title: 'ABSL-6超低温冰箱',
|
|
|
- reason: '温度异常',
|
|
|
- state: '1',
|
|
|
- stateVlaue: '异常'
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'action',
|
|
|
+ align: 'center'
|
|
|
}
|
|
|
- ])
|
|
|
- const apiLoading = ref(false)
|
|
|
- onMounted(() => {})
|
|
|
- const leaveFor = (url = '/') => {
|
|
|
+ ]
|
|
|
+ const dataSource = ref([])
|
|
|
+ const loading = ref(false)
|
|
|
+ onMounted(() => {
|
|
|
+ loadData()
|
|
|
+ })
|
|
|
+ const leaveFor = (url) => {
|
|
|
router.replace({
|
|
|
path: url
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ const loadData = () => {
|
|
|
+ loading.value = true
|
|
|
+ return getList()
|
|
|
+ .then((res) => {
|
|
|
+ dataSource.value = res
|
|
|
+ loading.value = false
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ loading.value = false
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
// 删除
|
|
|
const deleteData = (record) => {
|
|
|
- console.log(record.title, 'params')
|
|
|
+ if (loading.value) return
|
|
|
+ loading.value = true
|
|
|
+
|
|
|
+ deleteMonitornotice({ id: record.id })
|
|
|
+ .then(() => {
|
|
|
+ loading.value = false
|
|
|
+ loadData()
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ loading.value = false
|
|
|
+ })
|
|
|
}
|
|
|
+ const detailModalRef = ref()
|
|
|
+ /** 编辑 */
|
|
|
+ const handlerEdit = debounce((rowItem) => {
|
|
|
+ detailModalRef.value.open(rowItem, 'edit')
|
|
|
+ }, 300)
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|