瀏覽代碼

fix: 固定子设备弹窗高度

yanglzh 1 年之前
父節點
當前提交
2242449bcf
共有 2 個文件被更改,包括 267 次插入263 次删除
  1. 257 253
      src/views/iot/device/instance/component/subDevice.vue
  2. 10 10
      src/views/iot/device/instance/index.vue

+ 257 - 253
src/views/iot/device/instance/component/subDevice.vue

@@ -1,279 +1,282 @@
 <template>
 	<div class="system-dic-container">
 		<el-dialog title="子设备详情" v-model="isShowSubDeviceDialog" width="80%">
-			<div class="content">
-				<div class="cont_box">
-					<div class="title">设备:{{ detail.name }}</div>
-					<div class="pro-status"><span :class="developer_status == 2 ? 'on' : 'off'"></span>{{ developer_status == 2 ? '在线' : '离线' }}</div>
+			<div class="dialog-wrapper" style="height: 80vh;overflow: auto;">
 
-					<!-- <div class="pro-option" @click="CkOption">{{ developer_status == 2 ? '下线' : '上线' }}</div> -->
+				<div class="content">
+					<div class="cont_box">
+						<div class="title">设备:{{ detail.name }}</div>
+						<div class="pro-status"><span :class="developer_status == 2 ? 'on' : 'off'"></span>{{ developer_status == 2 ? '在线' : '离线' }}</div>
+
+						<!-- <div class="pro-option" @click="CkOption">{{ developer_status == 2 ? '下线' : '上线' }}</div> -->
+					</div>
 				</div>
-			</div>
 
-			<div class="content-box">
-				<el-tabs v-model="activeName" @tab-click="handleClick">
-					<el-tab-pane label="运行状态" name="3">
-						<div style="display: flex; padding: 10px; flex-wrap: wrap">
-							<div class="ant-card">
-								<div class="ant-card-body">
-									<div class="cardflex">
-										<div>设备状态</div>
-										<div @click="getrunData()" style="cursor: pointer">
-											<el-icon style="font-size: 18px">
-												<ele-Refresh />
-											</el-icon>
+				<div class="content-box">
+					<el-tabs v-model="activeName" @tab-click="handleClick">
+						<el-tab-pane label="运行状态" name="3">
+							<div style="display: flex; padding: 10px; flex-wrap: wrap">
+								<div class="ant-card">
+									<div class="ant-card-body">
+										<div class="cardflex">
+											<div>设备状态</div>
+											<div @click="getrunData()" style="cursor: pointer">
+												<el-icon style="font-size: 18px">
+													<ele-Refresh />
+												</el-icon>
+											</div>
 										</div>
-									</div>
 
-									<div class="statusname" v-if="areaData.status == 0">未启用</div>
-									<div class="statusname" v-if="areaData.status == 1">离线</div>
-									<div class="statusname" v-if="areaData.status == 2">在线</div>
-									<div class="cardflex comtest">
-										<div>数据时间</div>
-										<div>{{ areaData.lastOnlineTime || '未启用' }}</div>
+										<div class="statusname" v-if="areaData.status == 0">未启用</div>
+										<div class="statusname" v-if="areaData.status == 1">离线</div>
+										<div class="statusname" v-if="areaData.status == 2">在线</div>
+										<div class="cardflex comtest">
+											<div>数据时间</div>
+											<div>{{ areaData.lastOnlineTime || '未启用' }}</div>
+										</div>
 									</div>
 								</div>
-							</div>
 
-							<div class="ant-card" v-for="(item, index) in areaData.properties" :key="index">
-								<div class="ant-card-body">
-									<div class="cardflex">
-										<div>{{ item.name }}</div>
-										<div style="cursor: pointer">
-											<el-icon style="font-size: 18px" @click="getrunData()">
-												<ele-Refresh />
-											</el-icon>
-											<el-icon style="font-size: 18px; margin-left: 10px" @click="onOpenListDetail(item)">
-												<ele-Expand />
-											</el-icon>
+								<div class="ant-card" v-for="(item, index) in areaData.properties" :key="index">
+									<div class="ant-card-body">
+										<div class="cardflex">
+											<div>{{ item.name }}</div>
+											<div style="cursor: pointer">
+												<el-icon style="font-size: 18px" @click="getrunData()">
+													<ele-Refresh />
+												</el-icon>
+												<el-icon style="font-size: 18px; margin-left: 10px" @click="onOpenListDetail(item)">
+													<ele-Expand />
+												</el-icon>
+											</div>
 										</div>
-									</div>
 
-									<div class="statusname">{{ item.value }}{{ item.unit }}</div>
-									<div>
-										<devantd :json="item.list" :antdid="item.key" v-if="item.type == 'int' || item.type == 'float'" />
+										<div class="statusname">{{ item.value }}{{ item.unit }}</div>
+										<div>
+											<devantd :json="item.list" :antdid="item.key" v-if="item.type == 'int' || item.type == 'float'" />
+										</div>
 									</div>
 								</div>
 							</div>
-						</div>
-					</el-tab-pane>
-					<el-tab-pane label="设备信息" name="1">
-						<div class="pro-box">
-							<div class="protitle">设备信息</div>
-							<div>
-								<el-button type="primary" v-auth="'edit'" @click="onOpenEditDic(detail)">编辑</el-button>
+						</el-tab-pane>
+						<el-tab-pane label="设备信息" name="1">
+							<div class="pro-box">
+								<div class="protitle">设备信息</div>
+								<div>
+									<el-button type="primary" v-auth="'edit'" @click="onOpenEditDic(detail)">编辑</el-button>
+								</div>
 							</div>
-						</div>
-
-						<div class="ant-descriptions-view">
-							<table>
-								<tbody>
-									<tr class="ant-descriptions-row">
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备标识</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ detail.key }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备名称</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ detail.name }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">所属产品</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ detail.productName }}</td>
-									</tr>
-									<tr class="ant-descriptions-row">
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">消息协议</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.messageProtocol }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">链接协议</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.transportProtocol }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备类型</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.deviceType }}</td>
-									</tr>
-									<tr class="ant-descriptions-row">
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">固件版本</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.version }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">注册时间</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ detail.updatedAt }}</td>
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">最后上线时间</th>
-										<td class="ant-descriptions-item-content" colspan="1">{{ detail.lastOnlineTime || '' }}</td>
-									</tr>
-									<tr class="ant-descriptions-row">
-										<th class="ant-descriptions-item-label ant-descriptions-item-colon">说明</th>
-										<td class="ant-descriptions-item-content" colspan="5">{{ detail.desc }}</td>
-									</tr>
-								</tbody>
-							</table>
-						</div>
-					</el-tab-pane>
-					<el-tab-pane label="物模型" name="2">
-						<div class="wu-box">
-							<el-tabs type="border-card" v-model="activetab" @tab-click="wuhandleClick">
-								<el-tab-pane label="属性定义" name="attr">
-									<div class="wu-title">
-										<div class="title">属性定义</div>
-										<div>
-											<el-button type="primary" @click="onOpenEditAttr()">添加</el-button>
+
+							<div class="ant-descriptions-view">
+								<table>
+									<tbody>
+										<tr class="ant-descriptions-row">
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备标识</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ detail.key }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备名称</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ detail.name }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">所属产品</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ detail.productName }}</td>
+										</tr>
+										<tr class="ant-descriptions-row">
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">消息协议</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.messageProtocol }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">链接协议</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.transportProtocol }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备类型</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.deviceType }}</td>
+										</tr>
+										<tr class="ant-descriptions-row">
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">固件版本</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ prodetail.version }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">注册时间</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ detail.updatedAt }}</td>
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">最后上线时间</th>
+											<td class="ant-descriptions-item-content" colspan="1">{{ detail.lastOnlineTime || '' }}</td>
+										</tr>
+										<tr class="ant-descriptions-row">
+											<th class="ant-descriptions-item-label ant-descriptions-item-colon">说明</th>
+											<td class="ant-descriptions-item-content" colspan="5">{{ detail.desc }}</td>
+										</tr>
+									</tbody>
+								</table>
+							</div>
+						</el-tab-pane>
+						<el-tab-pane label="物模型" name="2">
+							<div class="wu-box">
+								<el-tabs type="border-card" v-model="activetab" @tab-click="wuhandleClick">
+									<el-tab-pane label="属性定义" name="attr">
+										<div class="wu-title">
+											<div class="title">属性定义</div>
+											<div>
+												<el-button type="primary" @click="onOpenEditAttr()">添加</el-button>
+											</div>
 										</div>
-									</div>
 
-									<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'attr'">
-										<el-table-column label="属性标识" align="center" prop="key" />
-										<el-table-column label="属性名称" prop="name" show-overflow-tooltip />
-										<el-table-column prop="valueType" label="数据类型" width="100" align="center">
-											<template #default="scope">
-												<span>{{ scope.row.valueType?.type }}</span>
-											</template>
-										</el-table-column>
-										<el-table-column prop="decimals" label="精度" width="60" align="center">
-											<template #default="scope">
-												<span>{{ scope.row.valueType.decimals }}</span>
-											</template>
-										</el-table-column>
-										<el-table-column prop="unit" label="单位" width="60" align="center">
-											<template #default="scope">
-												<span>{{ scope.row.valueType.unit }}</span>
-											</template>
-										</el-table-column>
-										<el-table-column prop="accessMode" label="是否只读" width="120" align="center">
-											<template #default="scope">
-												<el-tag type="info" size="small" v-if="scope.row.accessMode">只读</el-tag>
-												<el-tag type="success" size="small" v-else>读写</el-tag>
-											</template>
-										</el-table-column>
-										<el-table-column label="说明" prop="desc" show-overflow-tooltip />
-										<el-table-column label="操作" width="300" align="center" fixed="right">
-											<template #default="scope">
-												<el-button size="small" text type="warning" @click="onEditAttr(scope.row)">修改</el-button>
-												<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'attr')">删除</el-button>
-											</template>
-										</el-table-column>
-									</el-table>
-								</el-tab-pane>
-								<el-tab-pane label="功能定义" name="fun">
-									<div class="wu-title">
-										<div class="title">功能定义</div>
-										<div>
-											<el-button type="primary" @click="onOpenEditFun()">添加</el-button>
+										<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'attr'">
+											<el-table-column label="属性标识" align="center" prop="key" />
+											<el-table-column label="属性名称" prop="name" show-overflow-tooltip />
+											<el-table-column prop="valueType" label="数据类型" width="100" align="center">
+												<template #default="scope">
+													<span>{{ scope.row.valueType?.type }}</span>
+												</template>
+											</el-table-column>
+											<el-table-column prop="decimals" label="精度" width="60" align="center">
+												<template #default="scope">
+													<span>{{ scope.row.valueType.decimals }}</span>
+												</template>
+											</el-table-column>
+											<el-table-column prop="unit" label="单位" width="60" align="center">
+												<template #default="scope">
+													<span>{{ scope.row.valueType.unit }}</span>
+												</template>
+											</el-table-column>
+											<el-table-column prop="accessMode" label="是否只读" width="120" align="center">
+												<template #default="scope">
+													<el-tag type="info" size="small" v-if="scope.row.accessMode">只读</el-tag>
+													<el-tag type="success" size="small" v-else>读写</el-tag>
+												</template>
+											</el-table-column>
+											<el-table-column label="说明" prop="desc" show-overflow-tooltip />
+											<el-table-column label="操作" width="300" align="center" fixed="right">
+												<template #default="scope">
+													<el-button size="small" text type="warning" @click="onEditAttr(scope.row)">修改</el-button>
+													<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'attr')">删除</el-button>
+												</template>
+											</el-table-column>
+										</el-table>
+									</el-tab-pane>
+									<el-tab-pane label="功能定义" name="fun">
+										<div class="wu-title">
+											<div class="title">功能定义</div>
+											<div>
+												<el-button type="primary" @click="onOpenEditFun()">添加</el-button>
+											</div>
 										</div>
-									</div>
 
-									<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'fun'">
-										<el-table-column label="功能标识" align="center" prop="key" />
-										<el-table-column label="名称" prop="name" show-overflow-tooltip />
-
-										<el-table-column label="描述" prop="desc" show-overflow-tooltip />
-										<el-table-column label="操作" width="300" align="center" fixed="right">
-											<template #default="scope">
-												<el-button size="small" text type="warning" @click="onEditFun(scope.row)">修改</el-button>
-												<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'fun')">删除</el-button>
-											</template>
-										</el-table-column>
-									</el-table>
-								</el-tab-pane>
-								<el-tab-pane label="事件定义" name="event">
-									<div class="wu-title">
-										<div class="title">事件定义</div>
-										<div>
-											<el-button size="small" type="primary" @click="onOpenEditEvent()">添加</el-button>
+										<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'fun'">
+											<el-table-column label="功能标识" align="center" prop="key" />
+											<el-table-column label="名称" prop="name" show-overflow-tooltip />
+
+											<el-table-column label="描述" prop="desc" show-overflow-tooltip />
+											<el-table-column label="操作" width="300" align="center" fixed="right">
+												<template #default="scope">
+													<el-button size="small" text type="warning" @click="onEditFun(scope.row)">修改</el-button>
+													<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'fun')">删除</el-button>
+												</template>
+											</el-table-column>
+										</el-table>
+									</el-tab-pane>
+									<el-tab-pane label="事件定义" name="event">
+										<div class="wu-title">
+											<div class="title">事件定义</div>
+											<div>
+												<el-button size="small" type="primary" @click="onOpenEditEvent()">添加</el-button>
+											</div>
 										</div>
-									</div>
 
-									<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'event'">
-										<el-table-column label="事件标识" align="center" prop="key" />
-										<el-table-column label="名称" prop="name" show-overflow-tooltip />
-										<el-table-column prop="level" label="事件级别" width="120" align="center">
-											<template #default="scope">
-												<el-tag type="primary" size="small" v-if="scope.row.level == 0">普通</el-tag>
-												<el-tag type="warning" size="small" v-if="scope.row.level == 1">警告</el-tag>
-												<el-tag type="danger" size="small" v-if="scope.row.level == 2">紧急</el-tag>
-											</template>
-										</el-table-column>
-										<el-table-column label="描述" prop="desc" show-overflow-tooltip />
-
-										<el-table-column label="操作" width="300" align="center" fixed="right">
-											<template #default="scope">
-												<el-button size="small" text type="warning" @click="onEditEvent(scope.row)">修改</el-button>
-												<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'event')">删除</el-button>
-											</template>
-										</el-table-column>
-									</el-table>
-								</el-tab-pane>
-								<el-tab-pane label="标签定义" name="tab">
-									<div class="wu-title">
-										<div class="title">标签定义</div>
-										<div>
-											<el-button type="primary" @click="onOpenEditTab()">添加</el-button>
+										<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'event'">
+											<el-table-column label="事件标识" align="center" prop="key" />
+											<el-table-column label="名称" prop="name" show-overflow-tooltip />
+											<el-table-column prop="level" label="事件级别" width="120" align="center">
+												<template #default="scope">
+													<el-tag type="primary" size="small" v-if="scope.row.level == 0">普通</el-tag>
+													<el-tag type="warning" size="small" v-if="scope.row.level == 1">警告</el-tag>
+													<el-tag type="danger" size="small" v-if="scope.row.level == 2">紧急</el-tag>
+												</template>
+											</el-table-column>
+											<el-table-column label="描述" prop="desc" show-overflow-tooltip />
+
+											<el-table-column label="操作" width="300" align="center" fixed="right">
+												<template #default="scope">
+													<el-button size="small" text type="warning" @click="onEditEvent(scope.row)">修改</el-button>
+													<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'event')">删除</el-button>
+												</template>
+											</el-table-column>
+										</el-table>
+									</el-tab-pane>
+									<el-tab-pane label="标签定义" name="tab">
+										<div class="wu-title">
+											<div class="title">标签定义</div>
+											<div>
+												<el-button type="primary" @click="onOpenEditTab()">添加</el-button>
+											</div>
 										</div>
-									</div>
 
-									<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'tab'">
-										<el-table-column label="属性标识" align="center" prop="key" />
-										<el-table-column label="属性名称" prop="name" show-overflow-tooltip />
-										<el-table-column prop="valueType" label="数据类型" width="120" align="center">
-											<template #default="scope">
-												<span>{{ scope.row.valueType.type }}</span>
-											</template>
-										</el-table-column>
-										<el-table-column prop="accessMode" label="是否只读" width="120" align="center">
-											<template #default="scope">
-												<el-tag type="info" size="small" v-if="scope.row.accessMode">只读</el-tag>
-												<el-tag type="success" size="small" v-else>读写</el-tag>
-											</template>
-										</el-table-column>
-										<el-table-column label="描述" prop="desc" show-overflow-tooltip />
-										<el-table-column label="操作" width="300" align="center" fixed="right">
-											<template #default="scope">
-												<el-button size="small" text type="warning" @click="onEditTag(scope.row)">修改</el-button>
-												<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'tab')">删除</el-button>
-											</template>
-										</el-table-column>
-									</el-table>
-								</el-tab-pane>
-							</el-tabs>
-							<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="getList()" />
-						</div>
-					</el-tab-pane>
-					<el-tab-pane label="设备功能" name="5">
-						<functionCom :device-key="detail.key" :product-key="prodetail.key" v-if="detail.key && prodetail.key"></functionCom>
-					</el-tab-pane>
-					<el-tab-pane label="日志管理" name="4">
-						<div class="system-user-search mb15">
-							<el-form :model="logtableData.param" ref="queryRef" inline label-width="68px">
-								<el-form-item label="日志类型" prop="types">
-									<el-select v-model="logtableData.param.types" placeholder="日志类型" clearable>
-										<el-option v-for="item in logTypeData" :key="item" :label="item" :value="item" />
-									</el-select>
-								</el-form-item>
-
-								<el-form-item label="创建时间" prop="dateRange">
-									<el-date-picker v-model="logtableData.param.dateRange" size="default" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
-								</el-form-item>
-								<el-form-item>
-									<el-button type="primary" class="ml10" @click="getlog">
-										<el-icon>
-											<ele-Search />
-										</el-icon>
-										查询
-									</el-button>
-									<el-button @click="resetQuery(queryRef)">
-										<el-icon>
-											<ele-Refresh />
-										</el-icon>
-										重置
-									</el-button>
-								</el-form-item>
-							</el-form>
-						</div>
-						<el-table style="width: 100%" :data="logtableData.data">
-							<el-table-column label="类型" align="center" prop="type" />
-							<el-table-column label="时间" prop="ts" show-overflow-tooltip />
-
-							<el-table-column label="内容" prop="content" show-overflow-tooltip />
-							<el-table-column label="操作" width="300" align="center" fixed="right">
-								<template #default="scope">
-									<el-button size="small" text type="warning" @click="onLogDetail(scope.row)">查看</el-button>
-								</template>
-							</el-table-column>
-						</el-table>
-
-						<pagination v-show="logtableData.total > 0" :total="logtableData.total" v-model:page="logtableData.param.pageNum" v-model:limit="logtableData.param.pageSize" @pagination="getlog" />
-					</el-tab-pane>
-				</el-tabs>
+										<el-table style="width: 100%" :data="tableData.data" v-if="activetab == 'tab'">
+											<el-table-column label="属性标识" align="center" prop="key" />
+											<el-table-column label="属性名称" prop="name" show-overflow-tooltip />
+											<el-table-column prop="valueType" label="数据类型" width="120" align="center">
+												<template #default="scope">
+													<span>{{ scope.row.valueType.type }}</span>
+												</template>
+											</el-table-column>
+											<el-table-column prop="accessMode" label="是否只读" width="120" align="center">
+												<template #default="scope">
+													<el-tag type="info" size="small" v-if="scope.row.accessMode">只读</el-tag>
+													<el-tag type="success" size="small" v-else>读写</el-tag>
+												</template>
+											</el-table-column>
+											<el-table-column label="描述" prop="desc" show-overflow-tooltip />
+											<el-table-column label="操作" width="300" align="center" fixed="right">
+												<template #default="scope">
+													<el-button size="small" text type="warning" @click="onEditTag(scope.row)">修改</el-button>
+													<el-button size="small" text type="danger" @click="onRowDel(scope.row.key, 'tab')">删除</el-button>
+												</template>
+											</el-table-column>
+										</el-table>
+									</el-tab-pane>
+								</el-tabs>
+								<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="getList()" />
+							</div>
+						</el-tab-pane>
+						<el-tab-pane label="设备功能" name="5">
+							<functionCom :device-key="detail.key" :product-key="prodetail.key" v-if="detail.key && prodetail.key"></functionCom>
+						</el-tab-pane>
+						<el-tab-pane label="日志管理" name="4">
+							<div class="system-user-search mb15">
+								<el-form :model="logtableData.param" ref="queryRef" inline label-width="68px">
+									<el-form-item label="日志类型" prop="types">
+										<el-select v-model="logtableData.param.types" placeholder="日志类型" clearable>
+											<el-option v-for="item in logTypeData" :key="item" :label="item" :value="item" />
+										</el-select>
+									</el-form-item>
+
+									<el-form-item label="创建时间" prop="dateRange">
+										<el-date-picker v-model="logtableData.param.dateRange" size="default" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
+									</el-form-item>
+									<el-form-item>
+										<el-button type="primary" class="ml10" @click="getlog">
+											<el-icon>
+												<ele-Search />
+											</el-icon>
+											查询
+										</el-button>
+										<el-button @click="resetQuery(queryRef)">
+											<el-icon>
+												<ele-Refresh />
+											</el-icon>
+											重置
+										</el-button>
+									</el-form-item>
+								</el-form>
+							</div>
+							<el-table style="width: 100%" :data="logtableData.data">
+								<el-table-column label="类型" align="center" prop="type" />
+								<el-table-column label="时间" prop="ts" show-overflow-tooltip />
+
+								<el-table-column label="内容" prop="content" show-overflow-tooltip />
+								<el-table-column label="操作" width="300" align="center" fixed="right">
+									<template #default="scope">
+										<el-button size="small" text type="warning" @click="onLogDetail(scope.row)">查看</el-button>
+									</template>
+								</el-table-column>
+							</el-table>
+
+							<pagination v-show="logtableData.total > 0" :total="logtableData.total" v-model:page="logtableData.param.pageNum" v-model:limit="logtableData.param.pageSize" @pagination="getlog" />
+						</el-tab-pane>
+					</el-tabs>
+				</div>
 			</div>
 		</el-dialog>
 
@@ -739,7 +742,7 @@ export default defineComponent({
 <style scoped>
 .content {
 	width: 100%;
-	padding: 20px;
+	padding: 0 20px;
 }
 
 .content-box {
@@ -924,6 +927,7 @@ tr {
 	margin-top: 20px;
 	height: 30px;
 	line-height: 30px;
-}</style>
+}
+</style>
 
 

+ 10 - 10
src/views/iot/device/instance/index.vue

@@ -151,7 +151,7 @@ interface TableDataRow {
   createBy: string;
 }
 interface TableDataState {
-  ids: number[];
+  ids: string[];
   productData: Array<TableDataRow>;
   tableData: {
     data: Array<TableDataRow>;
@@ -234,9 +234,9 @@ export default defineComponent({
 
     //批量启用
     const setDeviceStatus1 = (row?: TableDataRow) => {
-      let ids: number[] = [];
+      let ids: string[] = [];
       if (row) {
-        ids = [row.id];
+        ids = [row.key];
       } else {
         ids = state.ids;
       }
@@ -261,9 +261,9 @@ export default defineComponent({
 
     //批量禁用
     const setDeviceStatus0 = (row?: TableDataRow) => {
-      let ids: number[] = [];
+      let ids: string[] = [];
       if (row) {
-        ids = [row.id];
+        ids = [row.key];
       } else {
         ids = state.ids;
       }
@@ -288,10 +288,10 @@ export default defineComponent({
     // 删除产品
     const onRowDel = (row?: TableDataRow) => {
       let msg = '你确定要删除所选数据?';
-      let ids: number[] = [];
+      let ids: string[] = [];
       if (row) {
         msg = `此操作将永久删除设备:“${row.name}”,是否继续?`;
-        ids = [row.id];
+        ids = [row.key];
       } else {
         ids = state.ids;
       }
@@ -324,16 +324,16 @@ export default defineComponent({
     };
     // 多选框选中数据
     const handleSelectionChange = (selection: TableDataRow[]) => {
-      state.ids = selection.map((item) => item.id);
+      state.ids = selection.map((item) => item.key);
     };
     const onActionStatus = (item: TableDataRow[]) => {
       if (item.status == 0) {
-        api.instance.devdeploy({ id: item.id }).then((res: any) => {
+        api.instance.devdeploy({ id: item.key }).then((res: any) => {
           typeList();
           ElMessage.success(res.message || '操作成功');
         });
       } else {
-        api.instance.devundeploy({ id: item.id }).then((res: any) => {
+        api.instance.devundeploy({ id: item.key }).then((res: any) => {
           typeList();
           ElMessage.success(res.message || '操作成功');
         });