feat:功能优化,设备报警信息、微信缓存用户,操作记录信息,代码提交。

This commit is contained in:
tianyongbao
2025-10-24 20:41:11 +08:00
parent 3b13ee1708
commit 3b39f9f3f3
30 changed files with 2264 additions and 233 deletions

View File

@@ -62,7 +62,7 @@
</template>
</el-table-column>
<el-table-column label="额定电流设置" align="center" prop="rateElectricValue" />
<el-table-column label="电流告警开关" align="center" prop="electricWarnOpen">
<template #default="scope">
<dict-tag :options="open_close" :value="scope.row.electricWarnOpen"/>
@@ -75,7 +75,7 @@
</el-table-column>
<el-table-column label="上次操作开关时间" align="center" prop="lastTurnTime" width="160"> </el-table-column>
<el-table-column label="定时控制数量" align="center" prop="timingCtrlCount" width="110"/>
<el-table-column label="操作" align="center" fixed="right" width="160" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="定时控制" placement="top">
@@ -97,10 +97,10 @@
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="deviceSwitchFormRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="设备" prop="deviceId">
<el-input
:value="selectedDevice ? `${selectedDevice.deviceName} (${selectedDevice.serialNum})` : ''"
placeholder="请选择设备"
readonly
<el-input
:value="selectedDevice ? `${selectedDevice.deviceName} (${selectedDevice.serialNum})` : ''"
placeholder="请选择设备"
readonly
@click="openDeviceSelect"
style="cursor: pointer;"
>
@@ -127,10 +127,10 @@
</el-select>
</el-form-item>
<el-form-item label="塘口" prop="pondId">
<el-input
:value="selectedPondName"
placeholder="请选择设备(塘口将自动关联)"
readonly
<el-input
:value="selectedPondName"
placeholder="请选择设备(塘口将自动关联)"
readonly
disabled
/>
</el-form-item>
@@ -148,7 +148,7 @@
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
@@ -158,42 +158,42 @@
</div>
</template>
</el-dialog>
<!-- 设备选择对话框 -->
<el-dialog title="选择设备" v-model="deviceSelectVisible" width="1200px" append-to-body>
<!-- 搜索条件 -->
<el-form :model="deviceQueryParams" :inline="true" class="mb-4">
<el-form-item label="用户信息">
<el-input
v-model="deviceQueryParams.params.userKeyword"
placeholder="请输入用户名或手机号"
clearable
<el-input
v-model="deviceQueryParams.params.userKeyword"
placeholder="请输入用户名或手机号"
clearable
style="width: 200px"
@keyup.enter="handleDeviceQuery"
/>
</el-form-item>
<el-form-item label="设备编号">
<el-input
v-model="deviceQueryParams.serialNum"
placeholder="请输入设备编号"
clearable
<el-input
v-model="deviceQueryParams.serialNum"
placeholder="请输入设备编号"
clearable
style="width: 180px"
@keyup.enter="handleDeviceQuery"
/>
</el-form-item>
<el-form-item label="设备名称">
<el-input
v-model="deviceQueryParams.deviceName"
placeholder="请输入设备名称"
clearable
<el-input
v-model="deviceQueryParams.deviceName"
placeholder="请输入设备名称"
clearable
style="width: 180px"
@keyup.enter="handleDeviceQuery"
/>
</el-form-item>
<el-form-item label="设备类型">
<el-select
v-model="deviceQueryParams.deviceType"
placeholder="请选择设备类型"
<el-select
v-model="deviceQueryParams.deviceType"
placeholder="请选择设备类型"
disabled
style="width: 150px"
>
@@ -210,10 +210,10 @@
<el-button icon="Refresh" @click="resetDeviceQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- 设备表格 -->
<el-table
:data="deviceList"
<el-table
:data="deviceList"
highlight-current-row
height="400px"
border
@@ -240,9 +240,9 @@
</el-table-column>
<el-table-column label="操作" align="center" width="100">
<template #default="scope">
<el-button
type="primary"
size="small"
<el-button
type="primary"
size="small"
@click="handleDeviceSelect(scope.row)"
>
选择
@@ -250,17 +250,17 @@
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination
v-show="deviceTotal > 0"
:total="deviceTotal"
v-model:page="deviceQueryParams.pageNum"
v-model:limit="deviceQueryParams.pageSize"
<pagination
v-show="deviceTotal > 0"
:total="deviceTotal"
v-model:page="deviceQueryParams.pageNum"
v-model:limit="deviceQueryParams.pageSize"
@pagination="handleDevicePaginationChange"
class="mt-4"
/>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancelDeviceSelect"> </el-button>
@@ -268,16 +268,16 @@
</template>
</el-dialog>
<!-- 定时控制对话框 -->
<el-dialog
:title="`定时控制 - ${currentSwitch?.switchName || ''} (序号:${currentSwitch?.index || ''})`"
v-model="timingCtrlDialogVisible"
width="800px"
<el-dialog
:title="`定时控制 - ${currentSwitch?.switchName || ''} (序号:${currentSwitch?.index || ''})`"
v-model="timingCtrlDialogVisible"
width="800px"
append-to-body
@close="closeTimingCtrlDialog"
>
<el-table
v-loading="timingCtrlLoading"
:data="timingCtrlList"
<el-table
v-loading="timingCtrlLoading"
:data="timingCtrlList"
border
height="400px"
>
@@ -294,7 +294,7 @@
</template>
</el-table-column>
</el-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="closeTimingCtrlDialog"> </el-button>
@@ -480,7 +480,7 @@ const handleUpdate = async (row?: DeviceSwitchVO) => {
const _id = row?.id || ids.value[0]
const res = await getDeviceSwitch(_id);
Object.assign(form.value, res.data);
// 回显设备信息
if (form.value.deviceId) {
try {
@@ -510,7 +510,7 @@ const handleUpdate = async (row?: DeviceSwitchVO) => {
selectedDevice.value = null;
selectedPondName.value = '';
}
dialog.visible = true;
dialog.title = "修改测控一体机开关";
}