|
|
@@ -12,7 +12,7 @@
|
|
|
<a-select-option
|
|
|
:key="item.spaceId"
|
|
|
:value="item.spaceId"
|
|
|
- v-for="(item, index) in state.spaceList "
|
|
|
+ v-for="(item, index) in state.spaceList"
|
|
|
>
|
|
|
{{item.spaceName}}
|
|
|
</a-select-option>
|
|
|
@@ -35,7 +35,7 @@
|
|
|
|
|
|
<template v-if="column.key === 'action'" >
|
|
|
<a-space>
|
|
|
- <a @click="recordParty(record)" >录像回放</a>
|
|
|
+ <a @click="recordParty(record)">录像回放</a>
|
|
|
<a @click="thumbParty(record)">截图查看</a>
|
|
|
<a @click="arAnalysis(record)">AI分析</a>
|
|
|
</a-space>
|
|
|
@@ -78,6 +78,7 @@
|
|
|
</a-card>
|
|
|
|
|
|
<modal-pro
|
|
|
+ width="1000px"
|
|
|
:label="deviceState.deviceName"
|
|
|
:open="state.activeVisible"
|
|
|
@cancel="state.activeVisible = false"
|
|
|
@@ -86,8 +87,20 @@
|
|
|
<a-card
|
|
|
:tab-list="deviceTabs"
|
|
|
:active-tab-key="activeTabKey"
|
|
|
+ @tabChange="key => onTabChange(key)"
|
|
|
>
|
|
|
-
|
|
|
+ <table-pro
|
|
|
+ :service="deviceActionMap.get(activeTabKey)"
|
|
|
+ :serviceParams="deviceActionParams"
|
|
|
+ :hiddenMeunKeys="['add']"
|
|
|
+ >
|
|
|
+ <a-range-picker v-model:value="deviceActionParams.times" />
|
|
|
+ <a-select v-model:value="deviceActionParams.recordFormat" >
|
|
|
+ <a-select-options v-for="item in SpaceController.recordFormat" :key="item" :value="item" >
|
|
|
+ {{item}}
|
|
|
+ </a-select-options>
|
|
|
+ </a-select>
|
|
|
+ </table-pro>
|
|
|
</a-card>
|
|
|
</modal-pro>
|
|
|
</template>
|
|
|
@@ -147,6 +160,12 @@ const deviceTabs = [
|
|
|
{ key: 'ai', tab: 'AI分析' }
|
|
|
]
|
|
|
|
|
|
+const deviceActionMap = new Map([
|
|
|
+ ['record', { get: SpaceController.deviceRecordById }],
|
|
|
+ ['thumb', { get: SpaceController.deviceThumbById }],
|
|
|
+ ['ai', { get: SpaceController.deviceAiRetById }]
|
|
|
+])
|
|
|
+
|
|
|
const state = reactive<{
|
|
|
visible: boolean,
|
|
|
activeVisible: boolean,
|
|
|
@@ -157,6 +176,11 @@ const state = reactive<{
|
|
|
spaceList: []
|
|
|
})
|
|
|
|
|
|
+const deviceActionParams = reactive({
|
|
|
+ times: [],
|
|
|
+ recordFormat: ''
|
|
|
+})
|
|
|
+
|
|
|
const deviceState = reactive({
|
|
|
spaceId: undefined,
|
|
|
deviceName: '',
|
|
|
@@ -176,6 +200,8 @@ const { resetFields, validate, validateInfos } = useForm(deviceState, {
|
|
|
stream: [{ required: true, message: '请填写stream名称' }]
|
|
|
})
|
|
|
|
|
|
+const onTabChange = (key: 'record' | 'thumb' | 'ai') => activeTabKey.value = key
|
|
|
+
|
|
|
const ok = () => {
|
|
|
validate().then(async () => {
|
|
|
deviceState.deviceStreamId = deviceState.app + '/' + deviceState.stream
|