Merge remote-tracking branch 'origin/main'

main
suixy 4 weeks ago
commit 631a88fd03

@ -1,11 +1,92 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
DashboardVO,
RealtimeStats,
DeviceStatusVO,
SuccessRateTrend,
StatisticsOverview,
AlarmStatVO
} from './types';
// ==================== 新增接口(按需刷新) ====================
/**
*
* 1
* 线线+
*
* @param alarmLimit 10
*/
export const getDashboardStats = () => {
export const getRealtimeStats = (alarmLimit?: number): AxiosPromise<RealtimeStats> => {
return request({
url: '/rfid/dashboard/stats',
url: '/rfid/dashboard/realtime',
method: 'get',
params: { alarmLimit }
});
};
/**
* 2
* 线
*
* @param locationId ID
*/
export const getDeviceStatusList = (locationId?: number): AxiosPromise<DeviceStatusVO[]> => {
return request({
url: '/rfid/dashboard/deviceStatus',
method: 'get',
params: { locationId }
});
};
/**
* 3
*
*
* @param type today-yesterday-
*/
export const getSuccessRateTrends = (type?: string): AxiosPromise<SuccessRateTrend[]> => {
return request({
url: '/rfid/dashboard/successRate',
method: 'get',
params: { type }
});
};
// ==================== 原有接口(保留) ====================
/**
*
*
* @param locationId ID
*/
export const getDashboardData = (locationId?: number): AxiosPromise<DashboardVO> => {
return request({
url: '/rfid/dashboard/data',
method: 'get',
params: { locationId }
});
};
/**
*
*/
export const getOverview = (): AxiosPromise<StatisticsOverview> => {
return request({
url: '/rfid/dashboard/overview',
method: 'get'
})
}
});
};
/**
*
*
* @param limit 10
*/
export const getAlarmStats = (limit?: number): AxiosPromise<AlarmStatVO[]> => {
return request({
url: '/rfid/dashboard/alarmStats',
method: 'get',
params: { limit }
});
};

@ -0,0 +1,106 @@
/**
*
*/
/**
*
*/
export interface DashboardVO {
/** 统计概览 */
overview: StatisticsOverview;
/** 设备状态列表 */
deviceStatusList: DeviceStatusVO[];
/** 成功率趋势数据 */
successRateTrends: SuccessRateTrend[];
/** 告警统计列表 */
alarmStats: AlarmStatVO[];
}
/**
*
*/
export interface StatisticsOverview {
/** 设备总数 */
deviceTotal: number;
/** 在线数量 */
onlineCount: number;
/** 离线数量 */
offlineCount: number;
/** 告警数量 */
alarmCount: number;
}
/**
*
*/
export interface AlarmStatVO {
/** 告警时间 */
alarmTime: string;
/** 设备名称 */
deviceName: string;
/** 位置 */
location: string;
/** 告警级别 */
alarmLevel: string;
/** 告警行为 */
alarmAction: string;
}
/**
* 1
* +
*/
export interface RealtimeStats {
/** 统计概览 */
overview: StatisticsOverview;
/** 告警统计列表 */
alarmStats: AlarmStatVO[];
}
/**
*
*/
export interface LatestReadRecord {
/** 工位名称 */
stationName: string;
/** 条码信息 */
barcode: string;
/** 读取时间 */
recordTime: string;
/** 读取状态 (1-成功;0-失败) */
readStatus: string;
}
/**
* 2
* +
*/
export interface DeviceStatusVO {
/** 设备ID */
deviceId: number;
/** 设备编号 */
deviceCode: string;
/** 设备名称 */
deviceName: string;
/** 所属位置ID */
locationId: number;
/** 位置别名 */
locationAlias: string;
/** 在线状态 (1-在线;0-离线) */
onlineStatus: string;
/** 告警状态 (0-正常;1-告警) */
alarmStatus: string;
/** 最新读取记录 */
latestRecord?: LatestReadRecord;
}
/**
* 3
*
*/
export interface SuccessRateTrend {
/** 时间点(小时,如 "09:00" */
timePoint: string;
/** 成功率(百分比,如 98.5 */
successRate: number | null;
}

@ -18,12 +18,14 @@ export const listRfidReadRecord = (query?: RfidReadRecordQuery): AxiosPromise<Rf
/**
*
* @param id
* @param id
* @param queryDate yyyy-MM-dd
*/
export const getRfidReadRecord = (id: string | number): AxiosPromise<RfidReadRecordVO> => {
export const getRfidReadRecord = (id: string | number, queryDate?: string): AxiosPromise<RfidReadRecordVO> => {
return request({
url: '/rfid/rfidReadRecord/' + id,
method: 'get'
method: 'get',
params: { queryDate }
});
};
@ -53,12 +55,14 @@ export const updateRfidReadRecord = (data: RfidReadRecordForm) => {
/**
*
* @param id
* @param id
* @param queryDate yyyy-MM-dd
*/
export const delRfidReadRecord = (id: string | number | Array<string | number>) => {
export const delRfidReadRecord = (id: string | number | Array<string | number>, queryDate?: string) => {
return request({
url: '/rfid/rfidReadRecord/' + id,
method: 'delete'
method: 'delete',
params: { queryDate }
});
};

@ -42,17 +42,17 @@ export interface RfidReadRecordVO {
/**
* (1-;2-)
*/
alarmLevel: string;
alarmLevel?: string;
/**
*
*/
alarmType: string;
alarmType?: string;
/**
*
*/
alarmAction: string;
alarmAction?: string;
}
@ -122,9 +122,14 @@ export interface RfidReadRecordQuery extends PageQuery {
barcode?: string;
/**
*
* -
*/
recordTime?: string;
beginRecordTime?: string;
/**
* -
*/
endRecordTime?: string;
/**
* (0-;1-)
@ -146,6 +151,13 @@ export interface RfidReadRecordQuery extends PageQuery {
*/
alarmAction?: string;
/**
*
* - null <= 1
* - > 1 N
*/
samplingInterval?: number;
/**
*
*/

@ -72,43 +72,43 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['rfid:rfidDevice:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" border :data="rfidDeviceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" width="55" align="center" label="序号" />
<el-table-column label="设备编号" align="center" prop="deviceCode" />
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="所在位置" align="center" prop="locationAlias" />
<el-table-column label="设备地址" align="center" prop="deviceAddress" />
<el-table-column label="设备端口" align="center" prop="devicePort" />
<el-table-column label="读取频率" align="center" prop="readFrequency" />
<el-table-column label="在线状态" align="center" prop="onlineStatus">
<el-table-column label="设备编号" align="center" prop="deviceCode" v-if="columns[0].visible" />
<el-table-column label="设备名称" align="center" prop="deviceName" v-if="columns[1].visible" />
<el-table-column label="所在位置" align="center" prop="locationAlias" v-if="columns[2].visible" />
<el-table-column label="设备地址" align="center" prop="deviceAddress" v-if="columns[3].visible" />
<el-table-column label="设备端口" align="center" prop="devicePort" v-if="columns[4].visible" />
<el-table-column label="读取频率" align="center" prop="readFrequency" v-if="columns[5].visible" />
<el-table-column label="在线状态" align="center" prop="onlineStatus" v-if="columns[6].visible">
<template #default="scope">
<dict-tag :options="online_status" :value="scope.row.onlineStatus"/>
</template>
</el-table-column>
<el-table-column label="告警状态" align="center" prop="alarmStatus">
<el-table-column label="告警状态" align="center" prop="alarmStatus" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="alarm_status" :value="scope.row.alarmStatus"/>
</template>
</el-table-column>
<el-table-column label="是否标识" align="center" prop="isMarked">
<el-table-column label="是否标识" align="center" prop="isMarked" v-if="columns[8].visible">
<template #default="scope">
<dict-tag :options="is_marked" :value="scope.row.isMarked"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建人" align="center" prop="createdBy" />
<el-table-column label="创建时间" align="center" prop="createdAt" width="180">
<el-table-column label="备注" align="center" prop="remark" v-if="columns[9].visible" />
<el-table-column label="创建人" align="center" prop="createdBy" v-if="columns[10].visible" />
<el-table-column label="创建时间" align="center" prop="createdAt" width="180" v-if="columns[11].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.createdAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updatedBy" />
<el-table-column label="更新时间" align="center" prop="updatedAt" width="180">
<el-table-column label="更新人" align="center" prop="updatedBy" v-if="columns[12].visible" />
<el-table-column label="更新时间" align="center" prop="updatedAt" width="180" v-if="columns[13].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.updatedAt, '{y}-{m}-{d}') }}</span>
</template>
@ -247,6 +247,24 @@ const total = ref(0);
const locationOptions = ref<RfidLocationOption[]>([]);
//
const columns = ref<FieldOption[]>([
{ key: 0, label: '设备编号', visible: true },
{ key: 1, label: '设备名称', visible: true },
{ key: 2, label: '所在位置', visible: true },
{ key: 3, label: '设备地址', visible: true },
{ key: 4, label: '设备端口', visible: true },
{ key: 5, label: '读取频率', visible: true },
{ key: 6, label: '在线状态', visible: true },
{ key: 7, label: '告警状态', visible: true },
{ key: 8, label: '是否标识', visible: false },
{ key: 9, label: '备注', visible: false },
{ key: 10, label: '创建人', visible: false },
{ key: 11, label: '创建时间', visible: false },
{ key: 12, label: '更新人', visible: false },
{ key: 13, label: '更新时间', visible: false }
]);
const queryFormRef = ref<ElFormInstance>();
const rfidDeviceFormRef = ref<ElFormInstance>();
@ -294,9 +312,6 @@ const data = reactive<PageData<RfidDeviceForm, RfidDeviceQuery>>({
}
},
rules: {
id: [
{ required: true, message: "标识不能为空", trigger: "blur" }
],
deviceCode: [
{ required: true, message: "设备编号不能为空", trigger: "blur" }
],
@ -403,10 +418,15 @@ const submitForm = () => {
/** 删除按钮操作 */
const handleDelete = async (row?: RfidDeviceVO) => {
const _ids = row?.id || ids.value;
await proxy?.$modal.confirm('是否确认删除设备信息编号为"' + _ids + '"的数据项?').finally(() => loading.value = false);
await delRfidDevice(_ids);
proxy?.$modal.msgSuccess("删除成功");
await getList();
try {
await proxy?.$modal.confirm('是否确认删除设备信息编号为"' + _ids + '"的数据项?');
loading.value = true;
await delRfidDevice(_ids);
proxy?.$modal.msgSuccess("删除成功");
await getList();
} finally {
loading.value = false;
}
}
/** 导出按钮操作 */

@ -66,7 +66,7 @@
<el-col :span="1.5">
<el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">/</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table
@ -78,28 +78,28 @@
:default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column type="index" width="55" align="center" label="序号" />
<el-table-column label="位置编号" prop="locationCode" />
<el-table-column label="位置别名" align="center" prop="locationAlias" />
<el-table-column label="位置类型" align="center" prop="locationType">
<!-- 树形结构页面不使用序号列仅展示业务字段 -->
<el-table-column label="位置编号" prop="locationCode" v-if="columns[0].visible" />
<el-table-column label="位置别名" align="center" prop="locationAlias" v-if="columns[1].visible" />
<el-table-column label="位置类型" align="center" prop="locationType" v-if="columns[2].visible">
<template #default="scope">
<dict-tag :options="location_type" :value="scope.row.locationType"/>
</template>
</el-table-column>
<el-table-column label="是否标识" align="center" prop="isMarked">
<el-table-column label="是否标识" align="center" prop="isMarked" v-if="columns[3].visible">
<template #default="scope">
<dict-tag :options="is_marked" :value="scope.row.isMarked"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建人" align="center" prop="createdBy" />
<el-table-column label="创建时间" align="center" prop="createdAt" width="180">
<el-table-column label="备注" align="center" prop="remark" v-if="columns[4].visible" />
<el-table-column label="创建人" align="center" prop="createdBy" v-if="columns[5].visible" />
<el-table-column label="创建时间" align="center" prop="createdAt" width="180" v-if="columns[6].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.createdAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updatedBy" />
<el-table-column label="更新时间" align="center" prop="updatedAt" width="180">
<el-table-column label="更新人" align="center" prop="updatedBy" v-if="columns[7].visible" />
<el-table-column label="更新时间" align="center" prop="updatedAt" width="180" v-if="columns[8].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.updatedAt, '{y}-{m}-{d}') }}</span>
</template>
@ -214,6 +214,19 @@ const rfidLocationList = ref<RfidLocationVO[]>([]);
const rfidLocationOptions = ref<RfidLocationOption[]>([]);
const buttonLoading = ref(false);
const showSearch = ref(true);
//
const columns = ref<FieldOption[]>([
{ key: 0, label: '位置编号', visible: true },
{ key: 1, label: '位置别名', visible: true },
{ key: 2, label: '位置类型', visible: true },
{ key: 3, label: '是否标识', visible: false },
{ key: 4, label: '备注', visible: false },
{ key: 5, label: '创建人', visible: false },
{ key: 6, label: '创建时间', visible: false },
{ key: 7, label: '更新人', visible: false },
{ key: 8, label: '更新时间', visible: false }
]);
const isExpandAll = ref(true);
const loading = ref(false);
@ -257,9 +270,6 @@ const data = reactive<PageData<RfidLocationForm, RfidLocationQuery>>({
}
},
rules: {
id: [
{ required: true, message: "标识不能为空", trigger: "blur" }
],
locationCode: [
{ required: true, message: "位置编号不能为空", trigger: "blur" }
],
@ -373,11 +383,15 @@ const submitForm = () => {
/** 删除按钮操作 */
const handleDelete = async (row: RfidLocationVO) => {
await proxy?.$modal.confirm('是否确认删除位置信息编号为"' + row.id + '"的数据项?');
loading.value = true;
await delRfidLocation(row.id).finally(() => loading.value = false);
await getList();
proxy?.$modal.msgSuccess("删除成功");
try {
await proxy?.$modal.confirm('是否确认删除位置信息编号为"' + row.id + '"的数据项?');
loading.value = true;
await delRfidLocation(row.id);
proxy?.$modal.msgSuccess("删除成功");
await getList();
} finally {
loading.value = false;
}
}
onMounted(() => {

@ -22,12 +22,15 @@
<el-form-item label="条码信息" prop="barcode">
<el-input v-model="queryParams.barcode" placeholder="请输入条码信息" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="记录时间" prop="recordTime">
<el-date-picker clearable
v-model="queryParams.recordTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择记录时间"
<el-form-item label="记录时间" style="width: 308px">
<el-date-picker
v-model="dateRange"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"
/>
</el-form-item>
<el-form-item label="是否告警" prop="alarmFlag">
@ -61,6 +64,8 @@
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<!-- 仅保留查询与导出屏蔽新增/修改/删除操作按钮 -->
<!--
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['rfid:rfidReadRecord:add']"></el-button>
</el-col>
@ -70,41 +75,44 @@
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['rfid:rfidReadRecord:remove']"></el-button>
</el-col>
-->
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['rfid:rfidReadRecord:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" border :data="rfidReadRecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" width="55" align="center" label="序号" />
<el-table-column label="设备编号" align="center" prop="deviceCode" />
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="读取状态" align="center" prop="readStatus">
<el-table-column label="设备编号" align="center" prop="deviceCode" v-if="columns[0].visible" />
<el-table-column label="设备名称" align="center" prop="deviceName" v-if="columns[1].visible" />
<el-table-column label="读取状态" align="center" prop="readStatus" v-if="columns[2].visible">
<template #default="scope">
<dict-tag :options="read_status" :value="scope.row.readStatus"/>
</template>
</el-table-column>
<el-table-column label="条码信息" align="center" prop="barcode" />
<el-table-column label="记录时间" align="center" prop="recordTime" width="180">
<el-table-column label="条码信息" align="center" prop="barcode" v-if="columns[3].visible" />
<el-table-column label="记录时间" align="center" prop="recordTime" width="180" v-if="columns[4].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.recordTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="是否告警" align="center" prop="alarmFlag">
<el-table-column label="是否告警" align="center" prop="alarmFlag" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="alarm_flag" :value="scope.row.alarmFlag"/>
</template>
</el-table-column>
<el-table-column label="告警级别" align="center" prop="alarmLevel">
<el-table-column label="告警级别" align="center" prop="alarmLevel" v-if="columns[6].visible">
<template #default="scope">
<dict-tag :options="alarm_level" :value="scope.row.alarmLevel"/>
</template>
</el-table-column>
<el-table-column label="告警类型" align="center" prop="alarmType" />
<el-table-column label="告警行为" align="center" prop="alarmAction" />
<el-table-column label="告警类型" align="center" prop="alarmType" v-if="columns[7].visible" />
<el-table-column label="告警行为" align="center" prop="alarmAction" v-if="columns[8].visible" />
<!-- 仅保留查询不展示行级修改/删除操作按钮 -->
<!--
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
@ -115,6 +123,7 @@
</el-tooltip>
</template>
</el-table-column>
-->
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
@ -202,10 +211,25 @@ const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
//
const selectedRecordTimes = ref<string[]>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
//
const columns = ref<FieldOption[]>([
{ key: 0, label: '设备编号', visible: true },
{ key: 1, label: '设备名称', visible: true },
{ key: 2, label: '读取状态', visible: true },
{ key: 3, label: '条码信息', visible: true },
{ key: 4, label: '记录时间', visible: true },
{ key: 5, label: '是否告警', visible: false },
{ key: 6, label: '告警级别', visible: false },
{ key: 7, label: '告警类型', visible: false },
{ key: 8, label: '告警行为', visible: false }
]);
const queryFormRef = ref<ElFormInstance>();
const rfidReadRecordFormRef = ref<ElFormInstance>();
@ -215,6 +239,18 @@ const dialog = reactive<DialogOption>({
});
const deviceOptions = ref<RfidDeviceVO[]>([]);
//
const dateRange = ref<[string, string] | []>([]);
/** 初始化默认时间范围:当天 00:00:00 ~ 23:59:59 */
const initDefaultDateRange = () => {
const today = new Date();
const year = today.getFullYear();
const month = String(today.getMonth() + 1).padStart(2, '0');
const day = String(today.getDate()).padStart(2, '0');
const dateStr = `${year}-${month}-${day}`;
dateRange.value = [`${dateStr} 00:00:00`, `${dateStr} 23:59:59`];
};
const initFormData: RfidReadRecordForm = {
id: undefined,
@ -235,7 +271,8 @@ const data = reactive<PageData<RfidReadRecordForm, RfidReadRecordQuery>>({
deviceId: undefined,
readStatus: undefined,
barcode: undefined,
recordTime: undefined,
beginRecordTime: undefined,
endRecordTime: undefined,
alarmFlag: undefined,
alarmLevel: undefined,
alarmType: undefined,
@ -244,18 +281,13 @@ const data = reactive<PageData<RfidReadRecordForm, RfidReadRecordQuery>>({
}
},
rules: {
id: [
{ required: true, message: "标识不能为空", trigger: "blur" }
],
deviceId: [
{ required: true, message: "设备名称不能为空", trigger: "change" }
],
readStatus: [
{ required: true, message: "读取状态不能为空", trigger: "change" }
],
barcode: [
{ required: true, message: "条码信息不能为空", trigger: "blur" }
],
// barcode:
recordTime: [
{ required: true, message: "记录时间不能为空", trigger: "blur" }
],
@ -270,6 +302,14 @@ const { queryParams, form, rules } = toRefs(data);
/** 查询读取记录列表 */
const getList = async () => {
loading.value = true;
//
if (dateRange.value && dateRange.value.length === 2) {
queryParams.value.beginRecordTime = dateRange.value[0];
queryParams.value.endRecordTime = dateRange.value[1];
} else {
queryParams.value.beginRecordTime = undefined;
queryParams.value.endRecordTime = undefined;
}
const res = await listRfidReadRecord(queryParams.value);
rfidReadRecordList.value = res.rows;
total.value = res.total;
@ -302,6 +342,8 @@ const handleQuery = () => {
/** 重置按钮操作 */
const resetQuery = () => {
//
initDefaultDateRange();
queryFormRef.value?.resetFields();
handleQuery();
}
@ -309,6 +351,8 @@ const resetQuery = () => {
/** 多选框选中数据 */
const handleSelectionChange = (selection: RfidReadRecordVO[]) => {
ids.value = selection.map(item => item.id);
//
selectedRecordTimes.value = selection.map(item => item.recordTime?.substring(0, 10) || '');
single.value = selection.length != 1;
multiple.value = !selection.length;
}
@ -323,8 +367,10 @@ const handleAdd = () => {
/** 修改按钮操作 */
const handleUpdate = async (row?: RfidReadRecordVO) => {
reset();
const _id = row?.id || ids.value[0]
const res = await getRfidReadRecord(_id);
const _id = row?.id || ids.value[0];
//
const queryDate = row?.recordTime?.substring(0, 10) || selectedRecordTimes.value[0];
const res = await getRfidReadRecord(_id, queryDate);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改读取记录";
@ -350,10 +396,17 @@ const submitForm = () => {
/** 删除按钮操作 */
const handleDelete = async (row?: RfidReadRecordVO) => {
const _ids = row?.id || ids.value;
await proxy?.$modal.confirm('是否确认删除读取记录编号为"' + _ids + '"的数据项?').finally(() => loading.value = false);
await delRfidReadRecord(_ids);
proxy?.$modal.msgSuccess("删除成功");
await getList();
//
const queryDate = row?.recordTime?.substring(0, 10) || selectedRecordTimes.value[0];
try {
await proxy?.$modal.confirm('是否确认删除读取记录编号为"' + _ids + '"的数据项?');
loading.value = true;
await delRfidReadRecord(_ids, queryDate);
proxy?.$modal.msgSuccess("删除成功");
await getList();
} finally {
loading.value = false;
}
}
/** 导出按钮操作 */
@ -364,6 +417,8 @@ const handleExport = () => {
}
onMounted(() => {
//
initDefaultDateRange();
getList();
loadDeviceOptions();
});

Loading…
Cancel
Save