|
@@ -6,7 +6,7 @@
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model.trim="searchForm.lssId"
|
|
v-model.trim="searchForm.lssId"
|
|
|
- placeholder="LSS ID"
|
|
|
|
|
|
|
+ :placeholder="t('LSS ID')"
|
|
|
clearable
|
|
clearable
|
|
|
data-id="search-keyword"
|
|
data-id="search-keyword"
|
|
|
@keyup.enter="handleSearch"
|
|
@keyup.enter="handleSearch"
|
|
@@ -15,7 +15,7 @@
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model.trim="searchForm.lssName"
|
|
v-model.trim="searchForm.lssName"
|
|
|
- placeholder="名称"
|
|
|
|
|
|
|
+ :placeholder="t('名称')"
|
|
|
clearable
|
|
clearable
|
|
|
data-id="search-keyword"
|
|
data-id="search-keyword"
|
|
|
@keyup.enter="handleSearch"
|
|
@keyup.enter="handleSearch"
|
|
@@ -23,10 +23,10 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-select v-model="searchForm.status" :placeholder="t('心跳')" clearable data-id="search-enabled">
|
|
<el-select v-model="searchForm.status" :placeholder="t('心跳')" clearable data-id="search-enabled">
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option label="active" :value="1" />
|
|
|
|
|
- <el-option label="hold" :value="2" />
|
|
|
|
|
- <el-option label="dead" :value="3" />
|
|
|
|
|
|
|
+ <el-option :label="t('全部')" value="" />
|
|
|
|
|
+ <el-option :label="t('活跃')" value="active" />
|
|
|
|
|
+ <el-option :label="t('待机')" value="hold" />
|
|
|
|
|
+ <el-option :label="t('离线')" value="dead" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
@@ -50,7 +50,7 @@
|
|
|
height="100%"
|
|
height="100%"
|
|
|
@sort-change="handleSortChange"
|
|
@sort-change="handleSortChange"
|
|
|
>
|
|
>
|
|
|
- <el-table-column prop="lssId" label="LSS ID" min-width="120" sortable="custom" show-overflow-tooltip />
|
|
|
|
|
|
|
+ <el-table-column prop="lssId" :label="t('LSS ID')" min-width="120" sortable="custom" show-overflow-tooltip />
|
|
|
<el-table-column prop="lssName" :label="t('名称')" min-width="140" sortable="custom" show-overflow-tooltip />
|
|
<el-table-column prop="lssName" :label="t('名称')" min-width="140" sortable="custom" show-overflow-tooltip />
|
|
|
<el-table-column prop="address" :label="t('地址')" min-width="180" sortable="custom" show-overflow-tooltip />
|
|
<el-table-column prop="address" :label="t('地址')" min-width="180" sortable="custom" show-overflow-tooltip />
|
|
|
<el-table-column prop="ip" :label="t('IP')" min-width="180" sortable="custom" show-overflow-tooltip />
|
|
<el-table-column prop="ip" :label="t('IP')" min-width="180" sortable="custom" show-overflow-tooltip />
|
|
@@ -60,7 +60,7 @@
|
|
|
row.status === 'active'
|
|
row.status === 'active'
|
|
|
? t('活跃')
|
|
? t('活跃')
|
|
|
: row.status === 'hold'
|
|
: row.status === 'hold'
|
|
|
- ? t('hold')
|
|
|
|
|
|
|
+ ? t('待机')
|
|
|
: row.status === 'dead'
|
|
: row.status === 'dead'
|
|
|
? t('离线')
|
|
? t('离线')
|
|
|
: '-'
|
|
: '-'
|
|
@@ -81,35 +81,6 @@
|
|
|
{{ row.ablyClientId }}
|
|
{{ row.ablyClientId }}
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column prop="status" :label="t('状态')" min-width="100" sortable="custom">
|
|
|
|
|
- <template #default="{ row }">
|
|
|
|
|
- <el-tag :type="getStatusTagType(row.status)" size="small">
|
|
|
|
|
- {{ formatStatus(row.status) }}
|
|
|
|
|
- </el-tag>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column> -->
|
|
|
|
|
- <!-- <el-table-column prop="currentTasks" :label="t('当前任务')" min-width="100" sortable="custom" align="center">
|
|
|
|
|
- <template #default="{ row }">{{ row.currentTasks }} / {{ row.maxTasks }}</template>
|
|
|
|
|
- </el-table-column> -->
|
|
|
|
|
- <!-- <el-table-column prop="enabled" :label="t('启用')" min-width="80" align="center">
|
|
|
|
|
- <template #default="{ row }">
|
|
|
|
|
- <el-switch v-model="row.enabled" :loading="row._switching"
|
|
|
|
|
- @change="(val: boolean) => handleToggleEnabled(row, val)" />
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column> -->
|
|
|
|
|
- <!-- <el-table-column prop="ffmpegVersion" label="FFmpeg" show-overflow-tooltip /> -->
|
|
|
|
|
-
|
|
|
|
|
- <!-- <el-table-column label="詳情" align="center">
|
|
|
|
|
- <template #default="{ row }">
|
|
|
|
|
- <el-button type="primary" link :icon="View" @click="handleViewDetail(row)" />
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
-
|
|
|
|
|
- <el-table-column label="status" align="center">
|
|
|
|
|
- <template #default="{ row }">
|
|
|
|
|
- {{ row.status === 'ONLINE' ? '在线' : '离线' }}
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column> -->
|
|
|
|
|
<el-table-column :label="t('操作')" align="center" fixed="right">
|
|
<el-table-column :label="t('操作')" align="center" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="primary" link :icon="Edit" @click="handleEdit(row, 'detail')" />
|
|
<el-button type="primary" link :icon="Edit" @click="handleEdit(row, 'detail')" />
|
|
@@ -123,7 +94,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- LSS 详情抽屉 -->
|
|
<!-- LSS 详情抽屉 -->
|
|
|
- <el-drawer v-model="detailDrawerVisible" title="LSS 节点详情" direction="rtl" size="500px" destroy-on-close>
|
|
|
|
|
|
|
+ <el-drawer v-model="detailDrawerVisible" :title="t('LSS 节点详情')" direction="rtl" size="500px" destroy-on-close>
|
|
|
<el-descriptions :column="1" border>
|
|
<el-descriptions :column="1" border>
|
|
|
<el-descriptions-item label="LSS ID">{{ currentLss?.lssId }}</el-descriptions-item>
|
|
<el-descriptions-item label="LSS ID">{{ currentLss?.lssId }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="名称">{{ currentLss?.lssName }}</el-descriptions-item>
|
|
<el-descriptions-item label="名称">{{ currentLss?.lssName }}</el-descriptions-item>
|
|
@@ -161,9 +132,9 @@
|
|
|
<div class="drawer-content">
|
|
<div class="drawer-content">
|
|
|
<!-- 顶部 Tabs -->
|
|
<!-- 顶部 Tabs -->
|
|
|
<el-tabs v-model="editActiveTab" class="drawer-tabs">
|
|
<el-tabs v-model="editActiveTab" class="drawer-tabs">
|
|
|
- <el-tab-pane label="LSS详情" name="detail" />
|
|
|
|
|
- <el-tab-pane label="摄像头列表" name="camera" />
|
|
|
|
|
- <el-tab-pane label="推币机列表" name="pusher" />
|
|
|
|
|
|
|
+ <el-tab-pane :label="t('LSS详情')" name="detail" />
|
|
|
|
|
+ <el-tab-pane :label="t('摄像头列表')" name="camera" />
|
|
|
|
|
+ <el-tab-pane :label="t('推币机列表')" name="pusher" />
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
|
|
|
|
|
|
<div class="drawer-body">
|
|
<div class="drawer-body">
|
|
@@ -190,12 +161,12 @@
|
|
|
<el-tooltip placement="right" effect="light">
|
|
<el-tooltip placement="right" effect="light">
|
|
|
<template #content>
|
|
<template #content>
|
|
|
<div class="heartbeat-tooltip">
|
|
<div class="heartbeat-tooltip">
|
|
|
- <div class="tooltip-title">心跳状态:</div>
|
|
|
|
|
- <div>active - 持续返回中,并且频繁</div>
|
|
|
|
|
- <div>hold - 五分钟内有返回</div>
|
|
|
|
|
- <div>dead - 五分钟内没有返回</div>
|
|
|
|
|
- <div class="tooltip-format">表现形式为:</div>
|
|
|
|
|
- <div class="tooltip-example">Status [yy-mm-dd 00:00:00]</div>
|
|
|
|
|
|
|
+ <div class="tooltip-title">{{ t('心跳状态') }}:</div>
|
|
|
|
|
+ <div>{{ t('活跃') }} - {{ t('持续返回中,并且频繁') }}</div>
|
|
|
|
|
+ <div>{{ t('待机') }} - {{ t('五分钟内有返回') }}</div>
|
|
|
|
|
+ <div>{{ t('离线') }} - {{ t('五分钟内没有返回') }}</div>
|
|
|
|
|
+ <div class="tooltip-format">{{ t('表现形式为') }}:</div>
|
|
|
|
|
+ <div class="tooltip-example">{{ t('Status') }} [yy-mm-dd 00:00:00]</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<el-icon class="heartbeat-info-icon">
|
|
<el-icon class="heartbeat-info-icon">
|
|
@@ -210,7 +181,7 @@
|
|
|
type="textarea"
|
|
type="textarea"
|
|
|
:rows="8"
|
|
:rows="8"
|
|
|
v-model="lssEditForm.ably"
|
|
v-model="lssEditForm.ably"
|
|
|
- placeholder="请输入ably信息"
|
|
|
|
|
|
|
+ :placeholder="t('请输入ably信息')"
|
|
|
maxlength="1000"
|
|
maxlength="1000"
|
|
|
show-word-limit
|
|
show-word-limit
|
|
|
/>
|
|
/>
|
|
@@ -226,31 +197,30 @@
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model.trim="cameraSearchForm.keyword"
|
|
v-model.trim="cameraSearchForm.keyword"
|
|
|
- placeholder="IP / 设备ID / 名称"
|
|
|
|
|
|
|
+ :placeholder="t('IP / 设备ID / 名称')"
|
|
|
clearable
|
|
clearable
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
@keyup.enter="handleCameraSearch"
|
|
@keyup.enter="handleCameraSearch"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
- <el-select v-model="cameraSearchForm.status" placeholder="状态" clearable style="width: 120px">
|
|
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option label="在线" value="ONLINE" />
|
|
|
|
|
- <el-option label="离线" value="OFFLINE" />
|
|
|
|
|
|
|
+ <el-select v-model="cameraSearchForm.status" :placeholder="t('状态')" clearable style="width: 120px">
|
|
|
|
|
+ <el-option :label="t('全部')" value="" />
|
|
|
|
|
+ <el-option :label="t('在线')" value="ONLINE" />
|
|
|
|
|
+ <el-option :label="t('离线')" value="OFFLINE" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
- <el-button type="primary" :icon="Search" @click="handleCameraSearch">查询</el-button>
|
|
|
|
|
- <el-button :icon="RefreshRight" @click="handleCameraReset">重置</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" :icon="Search" @click="handleCameraSearch">{{ t('查询') }}</el-button>
|
|
|
|
|
+ <el-button :icon="RefreshRight" @click="handleCameraReset">{{ t('重置') }}</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-button type="primary" :icon="Plus" @click="handleAddCamera">{{ t('新增') }}</el-button>
|
|
<el-button type="primary" :icon="Plus" @click="handleAddCamera">{{ t('新增') }}</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-empty v-if="!cameraLoading && cameraList.length === 0" description="暂无关联设备" />
|
|
|
|
|
|
|
+ <el-empty v-if="!cameraLoading && cameraList.length === 0" :description="t('暂无关联设备')" />
|
|
|
<el-table v-else :data="cameraList" stripe size="small" border>
|
|
<el-table v-else :data="cameraList" stripe size="small" border>
|
|
|
- <!-- <el-table-column prop="ip" label="本地IP" min-width="110" /> -->
|
|
|
|
|
- <el-table-column prop="cameraId" label="设备ID" min-width="100" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column prop="cameraName" label="名称" min-width="100" show-overflow-tooltip />
|
|
|
|
|
|
|
+ <el-table-column prop="cameraId" :label="t('设备ID')" min-width="100" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column prop="cameraName" :label="t('名称')" min-width="100" show-overflow-tooltip />
|
|
|
<el-table-column :label="t('状态(心跳)')" min-width="140">
|
|
<el-table-column :label="t('状态(心跳)')" min-width="140">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<span :class="['status-text', row.status === 'active' ? 'status-active' : 'status-dead']">
|
|
<span :class="['status-text', row.status === 'active' ? 'status-active' : 'status-dead']">
|
|
@@ -258,14 +228,14 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="参数配置" min-width="80" align="center">
|
|
|
|
|
|
|
+ <el-table-column :label="t('参数配置')" min-width="80" align="center">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-button type="primary" link @click="handleViewConfig(row)">查看</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" link @click="handleViewConfig(row)">{{ t('查看') }}</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="运行参数" min-width="80" align="center">
|
|
|
|
|
|
|
+ <el-table-column :label="t('运行参数')" min-width="80" align="center">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-button type="primary" link @click="handleViewRunParams(row)">查看</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" link @click="handleViewRunParams(row)">{{ t('查看') }}</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="brand" :label="t('厂商')" min-width="90">
|
|
<el-table-column prop="brand" :label="t('厂商')" min-width="90">
|
|
@@ -273,13 +243,13 @@
|
|
|
{{ formatBrand(row.vendorName) }}
|
|
{{ formatBrand(row.vendorName) }}
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="model" label="型号" min-width="130" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column label="添加时间" min-width="140">
|
|
|
|
|
|
|
+ <el-table-column prop="model" :label="t('型号')" min-width="130" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column :label="t('添加时间')" min-width="140">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
{{ formatTime(row.createdAt) }}
|
|
{{ formatTime(row.createdAt) }}
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="设备控制" min-width="100" align="center" fixed="right">
|
|
|
|
|
|
|
+ <el-table-column :label="t('设备控制')" min-width="100" align="center" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="primary" link :icon="Edit" @click="handleEditCamera(row)" />
|
|
<el-button type="primary" link :icon="Edit" @click="handleEditCamera(row)" />
|
|
|
<el-button type="danger" link :icon="Delete" @click="handleDeleteCamera(row)" />
|
|
<el-button type="danger" link :icon="Delete" @click="handleDeleteCamera(row)" />
|
|
@@ -289,12 +259,14 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
- <div v-if="cameraList.length > 0" class="camera-count">共 {{ cameraList.length }} 个设备</div>
|
|
|
|
|
|
|
+ <div v-if="cameraList.length > 0" class="camera-count">
|
|
|
|
|
+ {{ t('共') }} {{ cameraList.length }} {{ t('个设备') }}
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 推币机列表 Tab -->
|
|
<!-- 推币机列表 Tab -->
|
|
|
<div v-show="editActiveTab === 'pusher'" class="tab-content">
|
|
<div v-show="editActiveTab === 'pusher'" class="tab-content">
|
|
|
- <el-empty description="暂无推币机数据" />
|
|
|
|
|
|
|
+ <el-empty :description="t('暂无推币机数据')" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -308,45 +280,45 @@
|
|
|
<!-- 设备列表抽屉 -->
|
|
<!-- 设备列表抽屉 -->
|
|
|
<el-drawer
|
|
<el-drawer
|
|
|
v-model="cameraDrawerVisible"
|
|
v-model="cameraDrawerVisible"
|
|
|
- :title="`设备列表 - ${currentLss?.lssName || ''}`"
|
|
|
|
|
|
|
+ :title="`${t('设备列表')} - ${currentLss?.lssName || ''}`"
|
|
|
direction="rtl"
|
|
direction="rtl"
|
|
|
size="80%"
|
|
size="80%"
|
|
|
destroy-on-close
|
|
destroy-on-close
|
|
|
class="device-drawer"
|
|
class="device-drawer"
|
|
|
>
|
|
>
|
|
|
<el-tabs v-model="deviceActiveTab" class="device-tabs">
|
|
<el-tabs v-model="deviceActiveTab" class="device-tabs">
|
|
|
- <el-tab-pane label="摄像头列表" name="camera">
|
|
|
|
|
|
|
+ <el-tab-pane :label="t('摄像头列表')" name="camera">
|
|
|
<div v-loading="cameraLoading" class="tab-content-wrapper">
|
|
<div v-loading="cameraLoading" class="tab-content-wrapper">
|
|
|
<div class="camera-toolbar">
|
|
<div class="camera-toolbar">
|
|
|
<el-form :model="cameraSearchForm" inline>
|
|
<el-form :model="cameraSearchForm" inline>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model.trim="cameraSearchForm.keyword"
|
|
v-model.trim="cameraSearchForm.keyword"
|
|
|
- placeholder="IP / 设备ID / 名称"
|
|
|
|
|
|
|
+ :placeholder="t('IP / 设备ID / 名称')"
|
|
|
clearable
|
|
clearable
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
@keyup.enter="handleCameraSearch"
|
|
@keyup.enter="handleCameraSearch"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
- <el-select v-model="cameraSearchForm.status" placeholder="状态" clearable style="width: 120px">
|
|
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option label="在线" value="ONLINE" />
|
|
|
|
|
- <el-option label="离线" value="OFFLINE" />
|
|
|
|
|
|
|
+ <el-select v-model="cameraSearchForm.status" :placeholder="t('状态')" clearable style="width: 120px">
|
|
|
|
|
+ <el-option :label="t('全部')" value="" />
|
|
|
|
|
+ <el-option :label="t('在线')" value="ONLINE" />
|
|
|
|
|
+ <el-option :label="t('离线')" value="OFFLINE" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
- <el-button type="primary" :icon="Search" @click="handleCameraSearch">查询</el-button>
|
|
|
|
|
- <el-button :icon="RefreshRight" @click="handleCameraReset">重置</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" :icon="Search" @click="handleCameraSearch">{{ t('查询') }}</el-button>
|
|
|
|
|
+ <el-button :icon="RefreshRight" @click="handleCameraReset">{{ t('重置') }}</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<el-button type="primary" :icon="Plus" @click="handleAddCamera">{{ t('新增') }}</el-button>
|
|
<el-button type="primary" :icon="Plus" @click="handleAddCamera">{{ t('新增') }}</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-empty v-if="!cameraLoading && cameraList.length === 0" description="暂无关联设备" />
|
|
|
|
|
|
|
+ <el-empty v-if="!cameraLoading && cameraList.length === 0" :description="t('暂无关联设备')" />
|
|
|
<el-table v-else :data="cameraList" stripe size="small" border>
|
|
<el-table v-else :data="cameraList" stripe size="small" border>
|
|
|
<!-- <el-table-column prop="ip" label="本地IP" min-width="110" /> -->
|
|
<!-- <el-table-column prop="ip" label="本地IP" min-width="110" /> -->
|
|
|
- <el-table-column prop="cameraId" label="设备ID" min-width="100" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column prop="cameraName" label="名称" min-width="100" show-overflow-tooltip />
|
|
|
|
|
|
|
+ <el-table-column prop="cameraId" :label="t('设备ID')" min-width="100" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column prop="cameraName" :label="t('名称')" min-width="100" show-overflow-tooltip />
|
|
|
<el-table-column :label="t('状态(心跳)')" min-width="140">
|
|
<el-table-column :label="t('状态(心跳)')" min-width="140">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<span :class="['status-text', row.status === 'active' ? 'status-active' : 'status-dead']">
|
|
<span :class="['status-text', row.status === 'active' ? 'status-active' : 'status-dead']">
|
|
@@ -354,12 +326,12 @@
|
|
|
</span>
|
|
</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="参数配置" min-width="80" align="center">
|
|
|
|
|
|
|
+ <el-table-column :label="t('参数配置')" min-width="80" align="center">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="primary" link @click="handleViewConfig(row)">查看</el-button>
|
|
<el-button type="primary" link @click="handleViewConfig(row)">查看</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="运行参数" min-width="80" align="center">
|
|
|
|
|
|
|
+ <el-table-column :label="t('运行参数')" min-width="80" align="center">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="primary" link @click="handleViewRunParams(row)">查看</el-button>
|
|
<el-button type="primary" link @click="handleViewRunParams(row)">查看</el-button>
|
|
|
</template>
|
|
</template>
|
|
@@ -369,13 +341,13 @@
|
|
|
{{ formatBrand(row.brand) }}
|
|
{{ formatBrand(row.brand) }}
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="model" label="型号" min-width="130" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column label="添加时间" min-width="140">
|
|
|
|
|
|
|
+ <el-table-column prop="model" :label="t('型号')" min-width="130" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column :label="t('添加时间')" min-width="140">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
{{ formatTime(row.createdAt) }}
|
|
{{ formatTime(row.createdAt) }}
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="设备控制" min-width="100" align="center" fixed="right">
|
|
|
|
|
|
|
+ <el-table-column :label="t('设备控制')" min-width="100" align="center" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="primary" link :icon="Edit" @click="handleEditCamera(row)" />
|
|
<el-button type="primary" link :icon="Edit" @click="handleEditCamera(row)" />
|
|
|
<el-button type="danger" link :icon="Delete" @click="handleDeleteCamera(row)" />
|
|
<el-button type="danger" link :icon="Delete" @click="handleDeleteCamera(row)" />
|