Quellcode durchsuchen

fix: 优化规则引擎,网络组件,数据采集 ,证书管理。告警中心页面显示样式

yanglzh vor 1 Jahr
Ursprung
Commit
56873cd821

+ 1 - 0
src/theme/fast.scss

@@ -22,6 +22,7 @@
 .page-full-part {
   flex      : 1;
   overflow-y: auto;
+  overflow-x: hidden;
 }
 
 .full-part {

+ 57 - 59
src/views/iot/alarm/log/index.vue

@@ -1,64 +1,62 @@
 <template>
-	<div class="system-dic-container">
-		<el-card shadow="nover">
-			<div class="system-user-search mb15">
-				<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
-					<el-form-item label="创建时间" prop="dateRange">
-						<el-date-picker v-model="tableData.param.dateRange" size="default" style="width: 240px" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-					</el-form-item>
-					<el-form-item label="告警状态" prop="status" style="width: 200px;">
-						<el-select v-model="tableData.param.status" placeholder="告警状态" clearable size="default" style="width: 240px">
-							<el-option label="未处理" :value="0" />
-							<el-option label="已处理" :value="1" />
-							<el-option label="已忽略" :value="2" />
-						</el-select>
-					</el-form-item>
-					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" @click="typeList">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button>
-						<el-button size="default" @click="resetQuery(queryRef)">
-							<el-icon>
-								<ele-Refresh />
-							</el-icon>
-							重置
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-				<el-table-column label="ID" align="center" prop="id" width="100" v-col="'ID'" />
-				<el-table-column label="告警类型" prop="type" width="120" show-overflow-tooltip v-col="'type'">
-					<template #default="scope">
-						<span v-if="scope.row.type == 1">规则告警</span>
-						<span v-else>设备自主告警</span>
-					</template>
-				</el-table-column>
-				<el-table-column label="规则级别" prop="alarmLevel.name" width="100" align="center" show-overflow-tooltip v-col="'alarmLevel'"></el-table-column>
-				<el-table-column label="规则名称" prop="ruleName" show-overflow-tooltip v-col="'ruleName'" />
-				<el-table-column label="产品标识" prop="productKey" show-overflow-tooltip v-col="'productKey'" />
-				<el-table-column label="设备标识" prop="deviceKey" show-overflow-tooltip v-col="'deviceKey'" />
+	<div class="page">
+		<div class="system-user-search">
+			<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
+				<el-form-item label="创建时间" prop="dateRange">
+					<el-date-picker v-model="tableData.param.dateRange" size="default" style="width: 240px" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+				</el-form-item>
+				<el-form-item label="告警状态" prop="status" style="width: 200px;">
+					<el-select v-model="tableData.param.status" placeholder="告警状态" clearable size="default" style="width: 240px">
+						<el-option label="未处理" :value="0" />
+						<el-option label="已处理" :value="1" />
+						<el-option label="已忽略" :value="2" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button size="default" type="primary" class="ml10" @click="typeList">
+						<el-icon>
+							<ele-Search />
+						</el-icon>
+						查询
+					</el-button>
+					<el-button size="default" @click="resetQuery(queryRef)">
+						<el-icon>
+							<ele-Refresh />
+						</el-icon>
+						重置
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading" max-height="calc(100vh  - 255px)">
+			<el-table-column label="ID" align="center" prop="id" width="100" v-col="'ID'" />
+			<el-table-column label="告警类型" prop="type" width="120" show-overflow-tooltip v-col="'type'">
+				<template #default="scope">
+					<span v-if="scope.row.type == 1">规则告警</span>
+					<span v-else>设备自主告警</span>
+				</template>
+			</el-table-column>
+			<el-table-column label="规则级别" prop="alarmLevel.name" width="100" align="center" show-overflow-tooltip v-col="'alarmLevel'"></el-table-column>
+			<el-table-column label="规则名称" prop="ruleName" show-overflow-tooltip v-col="'ruleName'" />
+			<el-table-column label="产品标识" prop="productKey" show-overflow-tooltip v-col="'productKey'" />
+			<el-table-column label="设备标识" prop="deviceKey" show-overflow-tooltip v-col="'deviceKey'" />
 
-				<el-table-column prop="status" label="告警状态" width="100" align="center" v-col="'status'">
-					<template #default="scope">
-						<el-tag type="danger" size="small" v-if="scope.row.status == 0">未处理</el-tag>
-						<el-tag type="success" size="small" v-if="scope.row.status == 1">已处理</el-tag>
-						<el-tag type="info" size="small" v-if="scope.row.status == 2">已忽略</el-tag>
-					</template>
-				</el-table-column>
-				<el-table-column prop="createdAt" label="告警时间" align="center" width="160" v-col="'createdAt'"></el-table-column>
-				<el-table-column label="操作" width="140" 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>
-			<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-		</el-card>
+			<el-table-column prop="status" label="告警状态" width="100" align="center" v-col="'status'">
+				<template #default="scope">
+					<el-tag type="danger" size="small" v-if="scope.row.status == 0">未处理</el-tag>
+					<el-tag type="success" size="small" v-if="scope.row.status == 1">已处理</el-tag>
+					<el-tag type="info" size="small" v-if="scope.row.status == 2">已忽略</el-tag>
+				</template>
+			</el-table-column>
+			<el-table-column prop="createdAt" label="告警时间" align="center" width="160" v-col="'createdAt'"></el-table-column>
+			<el-table-column label="操作" width="140" 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>
+		<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
 
 		<EditDic ref="editDicRef" @dataList="typeList" />
 		<DetailDic ref="detailRef" @dataList="typeList" />

+ 108 - 111
src/views/iot/alarm/setting/index.vue

@@ -1,119 +1,104 @@
 <template>
-	<div class="system-dic-container">
-		<el-card shadow="nover">
-			<div class="system-user-search mb15">
-				<el-form :model="tableData.param" ref="queryRef" :inline="true">
-					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" @click="onOpenAdd" v-auth="'add'">
-							<el-icon>
-								<ele-FolderAdd />
-							</el-icon>
-							新增告警
-						</el-button>
-						<el-button size="default" type="primary" class="ml10" @click="onOpenLevel" v-auth="'level'">
-							<el-icon>
-								<ele-Setting />
-							</el-icon>
-							级别设置
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<div>
-				<div style="border: 1px solid var(--next-border-color-light)"></div>
-				<el-row>
-					<el-col :span="6" v-for="(item, index) in tableData.data" :key="index">
-						<div class="grid-content card">
-							<div class="ant-card">
-								<div class="ant-card-body">
-									<div class="pro-table-card-item">
-										<div class="card-item-avatar" v-col="'image'">
-											<img width="88" height="88" src="/src/assets/img/alarm.svg" alt="" />
-										</div>
-										<div class="card-item-body">
-											<div class="card-item-header">
-												<div class="" v-col="'name'">
-													<div class="ellipsis card-item-header-name" style="width: 100%; height: 45px">{{ item.name }}</div>
-													<div class="card-item-header-name" style="display: none"></div>
-												</div>
-											</div>
-											<div class="card-item-content" v-col="'alarm'">
-												<div>
-													<label>触发:</label>
-													<div class="">
-														<div>级别:</div>
-													</div>
-												</div>
-												<div>
-													<label>{{ item.triggerTypeName }}</label>
-													<div class="">
-														<div>{{ item.alarmLevel.name }}</div>
-													</div>
-												</div>
-											</div>
+	<div class="page page-full">
+		<div class="">
+			<el-form :model="tableData.param" ref="queryRef" :inline="true">
+				<el-form-item class="mb-0">
+					<el-button size="default" type="primary" class="ml10" @click="onOpenAdd" v-auth="'add'">
+						<el-icon>
+							<ele-FolderAdd />
+						</el-icon>
+						新增告警
+					</el-button>
+					<el-button size="default" type="primary" class="ml10" @click="onOpenLevel" v-auth="'level'">
+						<el-icon>
+							<ele-Setting />
+						</el-icon>
+						级别设置
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-divider />
+		<el-row class="page-full-part">
+			<el-col :span="6" v-for="(item, index) in tableData.data" :key="index">
+				<div class="card">
+					<div class="ant-card">
+						<div class="ant-card-body">
+							<div class="pro-table-card-item">
+								<div class="card-item-avatar" v-col="'image'">
+									<img width="88" height="88" src="/src/assets/img/alarm.svg" />
+								</div>
+								<div class="card-item-body">
+									<div class="card-item-header">
+										<div class="" v-col="'name'">
+											<div class="ellipsis card-item-header-name" style="width: 100%; height: 45px">{{ item.name }}</div>
 										</div>
 									</div>
-
-									<div class="card-state success" v-if="item.status == 1" v-col="'liststatus'">
-										<div class="card-state-content">
-											<span class="ant-badge ant-badge-status ant-badge-not-a-wrapper">
-												<span class="ant-badge-status-dot ant-badge-status-success"></span>
-												<span class="ant-badge-status-text">已启用</span>
-											</span>
+									<div class="card-item-content" v-col="'alarm'">
+										<div>
+											<label>触发:</label>
+											<div class="">
+												<div>级别:</div>
+											</div>
 										</div>
-									</div>
-									<div class="card-state error" v-if="item.status == 0" v-col="'liststatus'">
-										<div class="card-state-content">
-											<span class="ant-badge ant-badge-status ant-badge-not-a-wrapper"><span class="ant-badge-status-dot ant-badge-status-error"></span><span class="ant-badge-status-text">未启用</span></span>
+										<div>
+											<label>{{ item.triggerTypeName }}</label>
+											<div class="">
+												<div>{{ item.alarmLevel.name }}</div>
+											</div>
 										</div>
 									</div>
 								</div>
 							</div>
-							<div class="card-tools">
-								<div class="card-button" @click="onOpenEdit(item)" v-auth="'edit'">
-									<el-button size="default" type="primary" class="ml10" text bg>
-										<el-icon>
-											<ele-Edit />
-										</el-icon>
-										修改
-									</el-button>
-								</div>
 
-
-								<div class="card-button" v-if="item.status == 0" v-auth="'status'">
-									<el-button size="default" type="warning" text bg @click="onActionStatus(item)">
-										<el-icon>
-											<ele-Check />
-										</el-icon>
-										启用
-									</el-button>
-								</div>
-
-								<div class="card-button" v-if="item.status == 1" v-auth="'status'">
-									<el-button size="default" type="info" text bg @click="onActionStatus(item)">
-										<el-icon>
-											<ele-Close />
-										</el-icon>
-										禁用
-									</el-button>
+							<div class="card-state success" v-if="item.status == 1" v-col="'liststatus'">
+								<div class="card-state-content">
+									<span class="ant-badge ant-badge-status ant-badge-not-a-wrapper">
+										<span class="ant-badge-status-dot ant-badge-status-success"></span>
+										<span class="ant-badge-status-text">已启用</span>
+									</span>
 								</div>
-
-								<div class="card-button" @click="onRowDel(item)" v-auth="'del'">
-									<el-button size="default" type="info" text bg>
-										<el-icon>
-											<ele-Delete />
-										</el-icon>
-										删除
-									</el-button>
+							</div>
+							<div class="card-state error" v-if="item.status == 0" v-col="'liststatus'">
+								<div class="card-state-content">
+									<span class="ant-badge ant-badge-status ant-badge-not-a-wrapper"><span class="ant-badge-status-dot ant-badge-status-error"></span><span class="ant-badge-status-text">未启用</span></span>
 								</div>
 							</div>
 						</div>
-					</el-col>
-				</el-row>
-			</div>
-			<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="dataList" />
-		</el-card>
+					</div>
+					<div class="card-tools">
+						<el-button size="default" type="primary" text bg @click="onOpenEdit(item)" v-auth="'edit'">
+							<el-icon>
+								<ele-Edit />
+							</el-icon>
+							修改
+						</el-button>
+
+						<el-button size="default" type="warning" text bg @click="onActionStatus(item)" v-if="item.status == 0" v-auth="'status'">
+							<el-icon>
+								<ele-Check />
+							</el-icon>
+							启用
+						</el-button>
 
+						<el-button size="default" type="info" text bg @click="onActionStatus(item)" v-if="item.status == 1" v-auth="'status'">
+							<el-icon>
+								<ele-Close />
+							</el-icon>
+							禁用
+						</el-button>
+
+						<el-button size="default" type="info" text bg @click="onRowDel(item)" v-auth="'del'">
+							<el-icon>
+								<ele-Delete />
+							</el-icon>
+							删除
+						</el-button>
+					</div>
+				</div>
+			</el-col>
+		</el-row>
+		<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="dataList" />
 		<EditDic ref="editDicRef" @dataList="dataList" />
 		<LevelDic ref="levelDicRef" @dataList="dataList" />
 	</div>
@@ -276,13 +261,11 @@ export default defineComponent({
 }
 
 .card {
-	padding: 10px;
+	margin: 0 10px 20px;
 }
 
 .ant-card {
 	box-sizing: border-box;
-	margin: 10px;
-	width: 97%;
 	font-size: 14px;
 	font-variant: tabular-nums;
 	border: 1px solid var(--next-border-color-light);
@@ -297,13 +280,18 @@ export default defineComponent({
 }
 
 .ant-card-body {
-	padding: 24px;
+	padding: 12px;
 	zoom: 1;
 	overflow: hidden;
 }
 
 .pro-table-card-item {
 	display: flex;
+	justify-content: stretch;
+	.card-item-avatar{
+		display: flex;
+		align-items: center;
+	}
 }
 
 .pro-table-card-item .card-item-avatar {
@@ -388,12 +376,20 @@ export default defineComponent({
 
 .card-tools {
 	display: flex;
-	margin-top: 2px;
+	margin-top: 8px;
+	justify-content: space-between;
+	overflow: hidden;
+	gap: 8px;
+
+	.el-button {
+		flex: 1;
+		margin-left: 0;
+	}
 }
 
-.card-tools .card-button:not(:last-child) {
+/* /* .card-tools .card-button:not(:last-child) {
 	margin-right: 8px;
-}
+} */
 
 .card-tools .card-button {
 	display: flex;
@@ -406,7 +402,7 @@ export default defineComponent({
 	border-radius: 0;
 }
 
-.ant-btn-link {
+*/ .ant-btn-link {
 	color: #1d39c4;
 	border-color: transparent;
 	background: transparent;
@@ -466,4 +462,5 @@ export default defineComponent({
 	margin-top: 20px;
 	height: 30px;
 	line-height: 30px;
-}</style>
+}
+</style>

+ 56 - 58
src/views/iot/certificate/index.vue

@@ -1,61 +1,59 @@
 <template>
-	<div class="system-dic-container">
-		<el-card shadow="nover">
-			<div class="system-user-search mb15">
-				<el-form :model="state.tableData.param" ref="queryRef" :inline="true" label-width="60px">
-					<el-form-item label="关键字" prop="keyWord">
-						<el-input v-model="state.tableData.param.name" placeholder="请输入关键字" clearable size="default" @keyup.enter="queryList" />
-					</el-form-item>
-					<el-form-item>
-						<el-button v-auth="'query'" size="default" type="primary" class="ml10" @click="queryList">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button>
-						<el-button v-auth="'reset'" size="default" @click="resetQuery(queryRef)">
-							<el-icon>
-								<ele-Refresh />
-							</el-icon>
-							重置
-						</el-button>
-						<el-button v-auth="'add'" size="default" type="primary" class="ml10" @click="operate('add')">
-							<el-icon>
-								<ele-FolderAdd />
-							</el-icon>
-							新增证书
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<!--  -->
-			<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
-				<!-- <el-table-column type="selection" width="55" align="center" /> -->
-				<el-table-column v-col="'id'" label="ID" align="center" prop="id" width="100" />
-				<el-table-column v-col="'name'" label="证书名称" prop="name" min-width="120" show-overflow-tooltip />
-				<el-table-column v-col="'standard'" label="证书标准" prop="standard" min-width="120" show-overflow-tooltip>
-					<template #default="scope">
-						{{ filterStandard(scope.row.standard) }}
-						<!-- <el-button size="small" text type="primary" @click="operate('editParams', scope.row)">编辑</el-button> -->
-						<!-- <el-button size="small" text type="danger" @click="operate('delete', scope.row)">删除</el-button> -->
-					</template>
-				</el-table-column>
-				<el-table-column v-col="'description'" label="说明" prop="description" min-width="120" show-overflow-tooltip />
-				<el-table-column label="状态" width="120" align="center">
-					<template #default="scope">
-						<el-switch v-auth="'startOrStop'" v-model="scope.row.status" inline-prompt :active-value="1" :inactive-value="0" active-text="启" inactive-text="禁" @change="handleStatusChange(scope.row)"></el-switch>
-						<span v-noauth="'startOrStop'">{{ scope.row.status ? '正常' : '暂停' }}</span>
-					</template>
-				</el-table-column>
-				<el-table-column v-col="'handle'" label="操作" width="180" align="center" fixed="right">
-					<template #default="scope">
-						<el-button size="small" v-auth="'edit'" text type="primary" @click="operate('editParams', scope.row)">编辑</el-button>
-						<el-button size="small" v-auth="'del'" text type="info" @click="operate('delete', scope.row)">删除</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<pagination v-show="state.tableData.total > 0" :total="state.tableData.total" v-model:page="state.tableData.param.pageNum" v-model:limit="state.tableData.param.pageSize" @pagination="queryList" />
-		</el-card>
+	<div class="page">
+		<div class="system-user-search">
+			<el-form :model="state.tableData.param" ref="queryRef" :inline="true" label-width="60px">
+				<el-form-item label="关键字" prop="keyWord">
+					<el-input v-model="state.tableData.param.name" placeholder="请输入关键字" clearable size="default" @keyup.enter="queryList" />
+				</el-form-item>
+				<el-form-item>
+					<el-button v-auth="'query'" size="default" type="primary" class="ml10" @click="queryList">
+						<el-icon>
+							<ele-Search />
+						</el-icon>
+						查询
+					</el-button>
+					<el-button v-auth="'reset'" size="default" @click="resetQuery(queryRef)">
+						<el-icon>
+							<ele-Refresh />
+						</el-icon>
+						重置
+					</el-button>
+					<el-button v-auth="'add'" size="default" type="primary" class="ml10" @click="operate('add')">
+						<el-icon>
+							<ele-FolderAdd />
+						</el-icon>
+						新增证书
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<!--  -->
+		<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%" max-height="calc(100vh - 255px)">>
+			<!-- <el-table-column type="selection" width="55" align="center" /> -->
+			<el-table-column v-col="'id'" label="ID" align="center" prop="id" width="100" />
+			<el-table-column v-col="'name'" label="证书名称" prop="name" min-width="120" show-overflow-tooltip />
+			<el-table-column v-col="'standard'" label="证书标准" prop="standard" min-width="120" show-overflow-tooltip>
+				<template #default="scope">
+					{{ filterStandard(scope.row.standard) }}
+					<!-- <el-button size="small" text type="primary" @click="operate('editParams', scope.row)">编辑</el-button> -->
+					<!-- <el-button size="small" text type="danger" @click="operate('delete', scope.row)">删除</el-button> -->
+				</template>
+			</el-table-column>
+			<el-table-column v-col="'description'" label="说明" prop="description" min-width="120" show-overflow-tooltip />
+			<el-table-column label="状态" width="120" align="center">
+				<template #default="scope">
+					<el-switch v-auth="'startOrStop'" v-model="scope.row.status" inline-prompt :active-value="1" :inactive-value="0" active-text="启" inactive-text="禁" @change="handleStatusChange(scope.row)"></el-switch>
+					<span v-noauth="'startOrStop'">{{ scope.row.status ? '正常' : '暂停' }}</span>
+				</template>
+			</el-table-column>
+			<el-table-column v-col="'handle'" label="操作" width="180" align="center" fixed="right">
+				<template #default="scope">
+					<el-button size="small" v-auth="'edit'" text type="primary" @click="operate('editParams', scope.row)">编辑</el-button>
+					<el-button size="small" v-auth="'del'" text type="info" @click="operate('delete', scope.row)">删除</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<pagination v-show="state.tableData.total > 0" :total="state.tableData.total" v-model:page="state.tableData.param.pageNum" v-model:limit="state.tableData.param.pageSize" @pagination="queryList" />
 		<EditParams ref="editParamsRef" @update="queryList" />
 	</div>
 </template>
@@ -145,7 +143,7 @@ const operate = (type: string, row: any) => {
 			editParamsRef.value.openDialog()
 			break
 		case 'editParams':
-			editParamsRef.value.openDialog({...row})
+			editParamsRef.value.openDialog({ ...row })
 			break
 		case 'buildConfig':
 			buildConfigRef.value.openDialog({ ...row })

+ 46 - 47
src/views/iot/device/channel/index.vue

@@ -7,55 +7,54 @@
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
 <template>
-	<div class="page">
-		<el-card shadow="nover">
-			<div class="search">
-				<el-form :model="params" :inline="true" ref="queryRef" @keyup.enter.native="getList(1)">
-					<el-form-item label="通道名称" prop="title">
-						<el-input v-model="params.title" placeholder="请输入通道名称" clearable style="width: 240px" />
-					</el-form-item>
-					<el-form-item label="注册码" prop="number">
-						<el-input v-model="params.number" placeholder="请输入注册码" clearable style="width: 240px" />
-					</el-form-item>
-					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" @click="getList(1)">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button>
-						<el-button size="default" @click="resetQuery()">
-							<el-icon>
-								<ele-Refresh />
-							</el-icon>
-							重置
-						</el-button>
-						<el-button type="primary" @click="addOrEdit()" v-auth="'add'">
-							<el-icon>
-								<ele-FolderAdd />
-							</el-icon>
-							新增通道
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<el-table :data="tableData" style="width: 100%" v-loading="loading">
-				<el-table-column type="index" label="序号" width="80" align="center" />
-				<el-table-column prop="title" label="通道名称" align="center" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="number" label="注册码" align="center" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="slaveId" label="设备地址" align="center" show-overflow-tooltip></el-table-column>
-				<el-table-column label="操作" width="100" align="center">
-					<template #default="scope">
-						<el-button size="small" text type="primary" v-auth="'detail'" @click="viewDetail(scope.row)">详情</el-button>
-						<el-button size="small" text type="info" v-auth="'del'" @click="onDel(scope.row)">删除</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<pagination v-if="params.total" :total="params.total" v-model:page="params.page" v-model:limit="params.size" @pagination="getList()" />
-		</el-card>
+	<el-card shadow="nover" class="page-full">
+		<div class="search">
+			<el-form :model="params" :inline="true" ref="queryRef" @keyup.enter.native="getList(1)">
+				<el-form-item label="通道名称" prop="title">
+					<el-input v-model="params.title" placeholder="请输入通道名称" clearable style="width: 240px" />
+				</el-form-item>
+				<el-form-item label="注册码" prop="number">
+					<el-input v-model="params.number" placeholder="请输入注册码" clearable style="width: 240px" />
+				</el-form-item>
+				<el-form-item>
+					<el-button size="default" type="primary" class="ml10" @click="getList(1)">
+						<el-icon>
+							<ele-Search />
+						</el-icon>
+						查询
+					</el-button>
+					<el-button size="default" @click="resetQuery()">
+						<el-icon>
+							<ele-Refresh />
+						</el-icon>
+						重置
+					</el-button>
+					<el-button type="primary" @click="addOrEdit()" v-auth="'add'">
+						<el-icon>
+							<ele-FolderAdd />
+						</el-icon>
+						新增通道
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="tableData" style="width: 100%" v-loading="loading" max-height="calc(100vh - 255px)">
+			<el-table-column type="index" label="序号" width="80" align="center" />
+			<el-table-column prop="title" label="通道名称" align="center" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="number" label="注册码" align="center" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="slaveId" label="设备地址" align="center" show-overflow-tooltip></el-table-column>
+			<el-table-column label="操作" width="100" align="center">
+				<template #default="scope">
+					<el-button size="small" text type="primary" v-auth="'detail'" @click="viewDetail(scope.row)">详情</el-button>
+					<el-button size="small" text type="info" v-auth="'del'" @click="onDel(scope.row)">删除</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<pagination v-if="params.total" :total="params.total" v-model:page="params.page" v-model:limit="params.size" @pagination="getList()" />
+
 		<EditForm ref="editFormRef" @getList="getList(1)"></EditForm>
 		<detailForm ref="detailFormRef" @getList="getList(1)"></detailForm>
-	</div>
+	</el-card>
 </template>
 
 <script lang="ts" setup>

+ 49 - 50
src/views/iot/device/template/index.vue

@@ -1,56 +1,55 @@
 <template>
-	<div class="page">
-		<el-card shadow="nover">
-			<div class="search">
-				<el-form :model="params" :inline="true" ref="queryRef">
-					<el-form-item label="模板名称" prop="title">
-						<el-input v-model="params.title" placeholder="请输入模板名称" clearable style="width: 240px" @keyup.enter.native="getList(1)" />
-					</el-form-item>
-					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" @click="getList(1)">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button>
-						<el-button size="default" @click="resetQuery()">
-							<el-icon>
-								<ele-Refresh />
-							</el-icon>
-							重置
-						</el-button>
-						<el-button type="primary" @click="addOrEdit()" v-auth="'add'">
-							<el-icon>
-								<ele-FolderAdd />
-							</el-icon>
-							新增模板
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<el-table :data="tableData" style="width: 100%" v-loading="loading">
-				<el-table-column type="index" label="序号" width="80" align="center" />
-				<el-table-column prop="title" label="模板名称" align="center" show-overflow-tooltip></el-table-column>
-				<el-table-column prop="mode" label="模式" align="center" width="120" show-overflow-tooltip>
-					<template #default="{ row }">
-						{{ row.mode === 0 ? '顺序读取' : '批量读取' }}
-					</template>
-				</el-table-column>
-				<el-table-column prop="remarks" label="备注" align="center" show-overflow-tooltip></el-table-column>
-				<el-table-column label="操作" width="160" align="center">
-					<template #default="scope">
-						<el-button size="small" text type="primary" v-auth="'upload'" @click="handleImport(scope.row)">导入</el-button>
-						<el-button size="small" text type="primary" v-auth="'download'" @click="handleExport(scope.row)">导出</el-button>
-						<el-button size="small" text type="primary" v-auth="'detail'" @click="addOrEdit(scope.row)">详情</el-button>
-						<el-button size="small" text type="info" v-auth="'del'" @click="onDel(scope.row)">删除</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<pagination v-if="params.total" :total="params.total" v-model:page="params.page" v-model:limit="params.size" @pagination="getList()" />
-		</el-card>
+	<el-card shadow="nover" class="page-full">
+		<div class="search">
+			<el-form :model="params" :inline="true" ref="queryRef">
+				<el-form-item label="模板名称" prop="title">
+					<el-input v-model="params.title" placeholder="请输入模板名称" clearable style="width: 240px" @keyup.enter.native="getList(1)" />
+				</el-form-item>
+				<el-form-item>
+					<el-button size="default" type="primary" class="ml10" @click="getList(1)">
+						<el-icon>
+							<ele-Search />
+						</el-icon>
+						查询
+					</el-button>
+					<el-button size="default" @click="resetQuery()">
+						<el-icon>
+							<ele-Refresh />
+						</el-icon>
+						重置
+					</el-button>
+					<el-button type="primary" @click="addOrEdit()" v-auth="'add'">
+						<el-icon>
+							<ele-FolderAdd />
+						</el-icon>
+						新增模板
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="tableData" style="width: 100%" v-loading="loading" max-height="calc(100vh - 255px)">
+			<el-table-column type="index" label="序号" width="80" align="center" />
+			<el-table-column prop="title" label="模板名称" align="center" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="mode" label="模式" align="center" width="120" show-overflow-tooltip>
+				<template #default="{ row }">
+					{{ row.mode === 0 ? '顺序读取' : '批量读取' }}
+				</template>
+			</el-table-column>
+			<el-table-column prop="remarks" label="备注" align="center" show-overflow-tooltip></el-table-column>
+			<el-table-column label="操作" width="160" align="center">
+				<template #default="scope">
+					<el-button size="small" text type="primary" v-auth="'upload'" @click="handleImport(scope.row)">导入</el-button>
+					<el-button size="small" text type="primary" v-auth="'download'" @click="handleExport(scope.row)">导出</el-button>
+					<el-button size="small" text type="primary" v-auth="'detail'" @click="addOrEdit(scope.row)">详情</el-button>
+					<el-button size="small" text type="info" v-auth="'del'" @click="onDel(scope.row)">删除</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<pagination v-if="params.total" :total="params.total" v-model:page="params.page" v-model:limit="params.size" @pagination="getList()" />
+
 		<EditForm ref="editFormRef" @getList="getList(1)"></EditForm>
 		<ImportFile ref="importFile" />
-	</div>
+	</el-card>
 </template>
 
 <script lang="ts" setup>

+ 1 - 1
src/views/iot/network/server/component/list.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-table v-loading="loading" :data="data" style="width: 100%" max-height="calc(100vh - 255px)">
+    <el-table v-loading="loading" :data="data" style="width: 100%" max-height="calc(100vh - 270px)">
       <el-table-column align="center" prop="id" label="ID" width="100" v-col="'id'" />
       <!-- <el-table-column align="center" prop="server" label="服务器"/> -->
       <el-table-column align="center" prop="name" label="名称" v-col="'name'" />

+ 2 - 8
src/views/iot/rule-engine/index.vue

@@ -1,14 +1,8 @@
 <template>
-	<el-card shadow="nover">
+	<el-card shadow="nover" class="page-full">
 		<div class="search">
 			<el-form :inline="true">
 				<el-form-item>
-					<!-- <el-button size="default" type="primary" class="ml10" @click="getList(1)">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button> -->
 					<el-button type="primary" v-auth="'add'" @click="addOrEdit()">
 						<el-icon>
 							<ele-FolderAdd />
@@ -18,7 +12,7 @@
 				</el-form-item>
 			</el-form>
 		</div>
-		<el-table :data="tableData" style="width: 100%" v-loading="loading">
+		<el-table :data="tableData" style="width: 100%" v-loading="loading" max-height="calc(100vh - 255px)">
 			<el-table-column type="index" label="序号" width="80" align="center" />
 			<el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="expound" label="说明" show-overflow-tooltip></el-table-column>

+ 2 - 2
src/views/iot/rule-engine/send.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-card shadow="nover">
+  <el-card shadow="nover" class="page-full">
     <div class="search">
       <el-form :inline="true">
         <el-form-item>
@@ -18,7 +18,7 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-table :data="tableData" style="width: 100%" v-loading="loading">
+    <el-table :data="tableData" style="width: 100%" v-loading="loading" max-height="calc(100vh - 255px)">
       <el-table-column type="index" label="序号" width="80" align="center" />
       <el-table-column prop="name" label="名称" show-overflow-tooltip></el-table-column>
       <el-table-column prop="expound" label="说明" show-overflow-tooltip></el-table-column>