Parcourir la source

新增日志列表和日志详情

yukai il y a 2 ans
Parent
commit
19b0066737

+ 3 - 0
src/api/notice/index.ts

@@ -18,4 +18,7 @@ export default {
     detail: (id: number) => get("/notice/template/get", { id }),
     configIddetail: (configId: number) => get("/notice/template/getbyconfig", { configId }),
   },
+  log:{
+    getList: (params: object) => get("/notice/log/search", params),
+  }
 };

+ 12 - 54
src/views/iot/noticeservices/log/component/detail.vue

@@ -1,31 +1,12 @@
 <template>
 	<div class="system-edit-dic-container">
 		<el-dialog title="日志详情" v-model="isShowDialog" width="769px">
-			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="110px">
-				<el-form-item label="规则名称">
-					{{ ruleForm.ruleName }}
-				</el-form-item>
-				<el-form-item label="告警类型">
-					<span v-if="ruleForm.type == 1">规则告警</span>
-					<span v-else>设备自主告警</span>
-				</el-form-item>
-				<el-form-item label="产品名称">
-					{{ product_name }}
-				</el-form-item>
-				<el-form-item label="设备名称">
-					{{ devcie_name }}
-				</el-form-item>
-
-				<el-form-item label="告警级别">
-					{{ alarmLevel_name }}
-				</el-form-item>
+			<el-form  ref="formRef"  size="default" label-width="110px">
+				<el-form-item label="内容">
+					<div v-html="content"></div>
 
-				<el-form-item label="告警时间">
-					{{ ruleForm.createdAt }}
-				</el-form-item>
-				<el-form-item label="告警数据">
-					<JsonViewer :value="jsonData" boxed sort theme="jv-dark" @click="onKeyclick" />
 				</el-form-item>
+				
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
@@ -40,57 +21,34 @@
 import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
 import api from '/@/api/alarm';
 import { ElMessage } from 'element-plus';
-import 'vue3-json-viewer/dist/index.css';
 
-import vue3cron from '/@/components/vue3cron/vue3cron.vue';
 
-interface RuleFormState {
-	id?: number;
-	name: string;
-	interval: string;
-	key: string;
-	desc: string;
-}
+
 interface DicState {
 	isShowDialog: boolean;
 	ruleForm: RuleFormState;
-	product_name: '';
-	devcie_name: '';
-	alarmLevel_name: '';
-	jsonData: {};
+	content: '';
+
 }
 
 export default defineComponent({
 	name: 'Edit',
-	components: { vue3cron },
 
 	setup(prop, { emit }) {
 		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
 			isShowDialog: false,
-			product_name: '',
-			devcie_name: '',
-			alarmLevel_name: '',
-			ruleForm: {},
-			jsonData: {},
+			content: '',
+			
 		});
 
 		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
-			//resetForm();
-			api.log.detail(row.id).then((res: any) => {
-				state.ruleForm = res.data;
-				state.jsonData = JSON.parse(res.data.data);
-				state.product_name = res.data.product.name;
-				state.devcie_name = res.data.devcie.name;
-				state.alarmLevel_name = res.data.alarmLevel.name;
-			});
-
+		
+			state.content=row.content;
 			state.isShowDialog = true;
 		};
-		const resetForm = () => {
-			state.ruleForm = {};
-		};
+	
 
 		// 关闭弹窗
 		const closeDialog = () => {

+ 8 - 22
src/views/iot/noticeservices/log/index.vue

@@ -33,32 +33,18 @@
 			</div>
 			<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
 				<el-table-column label="ID" align="center" prop="id" width="60" v-col="'ID'" />
-				<el-table-column label="告警类型" prop="type" :show-overflow-tooltip="true" v-col="'type'">
+			
+				<el-table-column label="标题" prop="title" :show-overflow-tooltip="true" v-col="'title'" />
+				<el-table-column prop="status" label="发送状态" width="100" align="center" v-col="'status'">
 					<template #default="scope">
-						<span v-if="scope.row.type == 1">规则告警</span>
-						<span v-else>设备自主告警</span>
+						<el-tag type="success" size="small" v-if="scope.row.status">发送成功</el-tag>
+						<el-tag type="info" size="small" v-else>发送失败</el-tag>
 					</template>
 				</el-table-column>
-				<el-table-column label="规则名称" prop="ruleName" :show-overflow-tooltip="true" v-col="'ruleName'" />
-				<el-table-column label="规则级别" prop="alarmLevel" :show-overflow-tooltip="true" v-col="'alarmLevel'">
-					<template #default="scope">
-						{{ scope.row.alarmLevel.name }}
-					</template>
-				</el-table-column>
-				<el-table-column label="产品标识" prop="productKey" :show-overflow-tooltip="true" v-col="'productKey'" />
-				<el-table-column label="设备标识" prop="deviceKey" :show-overflow-tooltip="true" v-col="'deviceKey'" />
-
-				<el-table-column prop="status" label="告警状态" width="100" align="center" v-col="'status'">
-					<template #default="scope">
-						<el-tag type="success" size="small" v-if="scope.row.status">已处理</el-tag>
-						<el-tag type="info" size="small" v-else>未处理</el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="createdAt" label="告警时间" align="center" width="180" v-col="'createdAt'"></el-table-column>
+				<el-table-column prop="sendTime" label="发送时间" align="center" width="180" v-col="'createdAt'"></el-table-column>
 				<el-table-column label="操作" width="150" align="center" fixed="right" v-col="'handle'">
 					<template #default="scope">
 						<el-button size="small" text type="primary" @click="onOpenDetailDic(scope.row)" v-auth="'detail'">详情</el-button>
-						<el-button size="small" text type="warning" @click="onOpenEditDic(scope.row)" v-if="scope.row.status == 0" v-auth="'edit'">处理</el-button>
 					</template>
 				</el-table-column>
 			</el-table>
@@ -79,7 +65,7 @@
   <script lang="ts">
 import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
 import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
-import api from '/@/api/alarm';
+import api from '/@/api/notice';
 import EditDic from './component/edit.vue';
 import DetailDic from './component/detail.vue';
 
@@ -132,7 +118,7 @@ export default defineComponent({
 		});
 		// 初始化表格数据
 		const initTableData = () => {
-			//typeList();
+			typeList();
 		};
 		const typeList = () => {
 			state.tableData.loading = true;