feat: 上级调用日志添加更多数据

- 新增日志类型、用户所属类别、被调用设备名称列
- 优化在线站点选择逻辑
This commit is contained in:
yangsy
2026-01-04 15:30:33 +08:00
parent a00c736f33
commit 8566b06429

View File

@@ -1,3 +1,35 @@
<script lang="ts">
const callLogTypeOptions: SelectOption[] = [
{ label: '视频点播', value: 10001 },
{ label: '视频回放', value: 10002 },
// { label: '停止视频回放', value: 10003 },
// { label: '回放暂停', value: 10004 },
// { label: '回放恢复', value: 10005 },
// { label: '回放倍速播放', value: 10006 },
// { label: '回放拖动播放', value: 10007 },
{ label: '云台指令', value: 10008 },
{ label: '查询录像', value: 10009 },
{ label: '下载录像', value: 10010 },
// { label: '停止下载录像', value: 10011 },
{ label: '获取预置位', value: 10012 },
{ label: '获取设备信息', value: 10013 },
{ label: '获取设备状态', value: 10014 },
{ label: '设置解码器分屏数量', value: 20001 },
{ label: '设置解码器rtsp流', value: 20002 },
{ label: '移除解码器rtsp流', value: 20003 },
// { label: '启动非报警时序', value: 30001 },
// { label: '停止非报警时序', value: 30002 },
// { label: '暂停非报警时序', value: 30003 },
// { label: '调用组切', value: 30004 },
// { label: '启动报警时序', value: 40001 },
// { label: '停止报警时序', value: 40002 },
// { label: '分页查询报警', value: 50001 },
// { label: '确认报警', value: 50002 },
// { label: '删除报警', value: 50004 },
{ label: '目录查询', value: 60001 },
];
</script>
<script setup lang="ts">
import { exportCallLogApi, pageCallLogApi, type NdmCallLog, type NdmCallLogResultVO, type PageQueryExtra, type Station } from '@/apis';
import { useStationStore } from '@/stores';
@@ -27,6 +59,7 @@ import { computed, reactive, ref, watch, watchEffect } from 'vue';
interface SearchFields extends PageQueryExtra<NdmCallLog> {
stationCode?: Station['code'];
logType_in: number[];
createdTime: [string, string];
}
@@ -42,11 +75,13 @@ const stationSelectOptions = computed(() => {
});
const searchFields = ref<SearchFields>({
logType_in: [],
createdTime: [dayjs().startOf('date').subtract(1, 'week').format('YYYY-MM-DD HH:mm:ss'), dayjs().endOf('date').format('YYYY-MM-DD HH:mm:ss')],
});
const resetSearchFields = () => {
searchFields.value = {
stationCode: stations.value.find((station) => station.online)?.code,
stationCode: onlineStations.value.at(0)?.code,
logType_in: [],
createdTime: [dayjs().startOf('date').subtract(1, 'week').format('YYYY-MM-DD HH:mm:ss'), dayjs().endOf('date').format('YYYY-MM-DD HH:mm:ss')],
};
};
@@ -58,6 +93,7 @@ const getExtraFields = (): PageQueryExtra<NdmCallLog> => {
const method_like = searchFields.value.method_like;
const messageType_like = searchFields.value.messageType_like;
const cmdType_like = searchFields.value.cmdType_like;
const logType_in = searchFields.value.logType_in;
return {
createdTime_precisest,
createdTime_preciseed,
@@ -66,6 +102,7 @@ const getExtraFields = (): PageQueryExtra<NdmCallLog> => {
method_like,
messageType_like,
cmdType_like,
logType_in,
};
};
@@ -76,8 +113,18 @@ watch(searchFields, () => {
const tableColumns: DataTableColumns<NdmCallLogResultVO> = [
{ title: '时间', key: 'createdTime' },
{
title: '日志类型',
key: 'logType',
render: (rowData) => {
const option = callLogTypeOptions.find((option) => option.value === rowData.logType);
return `${option?.label ?? ''}`;
},
},
{ title: '调用者国标码', key: 'sourceGbId' },
{ title: '用户所属类别', key: 'sourceType' },
{ title: '被调用设备国标码', key: 'targetGbId' },
{ title: '被调用设备名称', key: 'targetName' },
{ title: '调用方法', key: 'method' },
{ title: '消息类型', key: 'messageType' },
{ title: '操作类型', key: 'cmdType' },
@@ -252,6 +299,9 @@ onBeforeUnmount(() => {
clearable
/>
</NFormItemGi>
<NFormItemGi :span="1" label="日志类型" label-placement="left">
<NSelect v-model:value="searchFields.logType_in" :options="callLogTypeOptions" multiple clearable />
</NFormItemGi>
<NFormItemGi span="1" label="时间" label-placement="left">
<NDatePicker v-model:formatted-value="searchFields.createdTime" type="datetimerange" />
</NFormItemGi>