feat equipmentList

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Ironsp
2026-05-21 17:26:31 +08:00
parent e429228221
commit 3f8a04f06b

View File

@@ -32,7 +32,7 @@
<template #header>
<el-row :gutter="10" class="flex justify-end mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd">添加设备</el-button>
<el-button type="primary" plain icon="Plus" @click="handleAdd()">添加设备</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['demo:demo:edit']" type="success" plain icon="Edit" :disabled="multiple" @click="handleActivate()"
@@ -65,13 +65,21 @@
</el-table-column>
<el-table-column label="设备型号" align="center" prop="model" />
<el-table-column label="固件版本" align="center" prop="id" />
<el-table-column label="是否绘制区域" align="center" prop="isDrawArea" />
<el-table-column label="是否绘制区域" align="center" prop="isDrawArea">
<template #default="scope">
<span v-if="scope.row.isDrawArea === 1 || scope.row.isDrawArea === '1'"></span>
<span v-else-if="scope.row.isDrawArea === 0 || scope.row.isDrawArea === '0'"></span>
<span v-else>{{ scope.row.isDrawArea ?? '-' }}</span>
</template>
</el-table-column>
<el-table-column label="绑定时间" align="center" prop="isDelete" />
<el-table-column width="400" label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
<el-button type="primary" @click="handleSee(scope.row)">查看监控</el-button>
<el-button type="primary" @click="handleActivate(scope.row)">唤醒设备</el-button>
<el-button :disabled="scope.row.status === 1 || scope.row.status === '1'" type="primary" @click="handleActivate(scope.row)"
>唤醒设备</el-button
>
<el-button type="primary" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -83,7 +91,7 @@
<el-dialog v-model="dialog.visible" :title="dialog.title" width="500px" append-to-body>
<el-form ref="demoFormRef" :model="form" :rules="rules">
<el-form-item label="设备编号:" prop="code">
<el-input v-model="form.code" placeholder="请输入设备编号" disabled />
<el-input v-model="form.code" placeholder="请输入设备编号" :disabled="haveCode" />
</el-form-item>
<el-form-item label="设备名称:" prop="name">
<el-input v-model="form.name" placeholder="请输入设备名称" />
@@ -105,9 +113,9 @@
<div class="flex w-full items-center justify-between gap-2 min-w-0 pr-8">
<span class="truncate">实时监控-北门出入门监控</span>
<div>
<el-button v-if="!drawStart" type="primary" class="shrink-0" @click="drawImage()">绘制区域</el-button>
<el-button v-if="drawStart" type="primary" class="shrink-0" @click="clearImage()">清空区域</el-button>
<el-button v-if="drawStart" type="primary" class="shrink-0" @click="saveImage()">保存区域</el-button>
<el-button v-if="!seeSee" type="primary" class="shrink-0" @click="drawImage()">绘制区域</el-button>
<el-button v-if="seeSee" type="primary" class="shrink-0" @click="clearImage()">清空区域</el-button>
<el-button v-if="seeSee" type="primary" class="shrink-0" @click="saveImage()">保存区域</el-button>
</div>
</div>
</template>
@@ -139,6 +147,8 @@ const showSearch = ref(true);
const ids = ref([]);
const multiple = ref(true);
const total = ref(0);
const seeSee = ref(0);
const haveCode = ref(false);
const queryFormRef = ref<ElFormInstance>();
const demoFormRef = ref<ElFormInstance>();
@@ -246,6 +256,7 @@ const handleSelectionChange = (selection: any) => {
/** 新增按钮操作 */
const handleAdd = () => {
haveCode.value = false;
reset();
dialog.visible = true;
dialog.title = '添加设备';
@@ -253,6 +264,7 @@ const handleAdd = () => {
/** 修改按钮操作 */
const handleUpdate = async (row?: any) => {
haveCode.value = true;
reset();
const _id = row?.id || ids.value[0];
const res = await getDeviceInfo(_id);
@@ -308,6 +320,7 @@ const resetMonitorDraw = () => {
const handleSee = async (row?: any) => {
reset();
resetMonitorDraw();
seeSee.value = row?.isDrawArea === 1 ? 1 : 0;
const _id = row?.id || ids.value[0];
const res = await getDeviceInfo(_id);
Object.assign(form.value, res.data);