Просмотр исходного кода

refactor(live-stream, lss): enhance input components and streamline formatting

- Consolidated input attributes for improved readability and consistency in both live stream and LSS views.
- Reduced unnecessary line breaks and improved overall code formatting for better clarity.
- Updated pagination and drawer structures to enhance user experience.
yb 1 неделя назад
Родитель
Сommit
22c6d0a462
2 измененных файлов с 16 добавлено и 34 удалено
  1. 10 20
      src/views/live-stream/index.vue
  2. 6 14
      src/views/lss/index.vue

+ 10 - 20
src/views/live-stream/index.vue

@@ -11,6 +11,9 @@
             @keyup.enter="handleSearch"
             @keyup.enter="handleSearch"
           />
           />
         </el-form-item>
         </el-form-item>
+        <el-form-item :label="t('设备ID')">
+          <el-input v-model.trim="searchForm.cameraId" placeholder="搜索设备ID" clearable @keyup.enter="handleSearch" />
+        </el-form-item>
         <el-form-item :label="t('状态')">
         <el-form-item :label="t('状态')">
           <el-select v-model="searchForm.enabled" placeholder="全部" clearable style="width: 120px">
           <el-select v-model="searchForm.enabled" placeholder="全部" clearable style="width: 120px">
             <el-option :label="t('启用')" :value="true" />
             <el-option :label="t('启用')" :value="true" />
@@ -68,38 +71,23 @@
         </el-table-column>
         </el-table-column>
         <el-table-column :label="t('推流控制')" align="center">
         <el-table-column :label="t('推流控制')" align="center">
           <template #default="{ row }">
           <template #default="{ row }">
+            {{ row.status === '1' ? t('开启') : t('关闭') }}
             <el-switch
             <el-switch
               :model-value="row.status === '1'"
               :model-value="row.status === '1'"
               :loading="row._starting || row._stopping"
               :loading="row._starting || row._stopping"
-              :active-text="t('开启')"
-              :inactive-text="t('关闭')"
               inline-prompt
               inline-prompt
               @change="(val: boolean) => handleToggleStream(row, val)"
               @change="(val: boolean) => handleToggleStream(row, val)"
             />
             />
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column prop="pushMethod" :label="t('推流方式')" align="center">
-          <template #default="{ row }">
-            <el-tag size="small">{{ row.pushMethod || 'ffmpeg' }}</el-tag>
-          </template>
-        </el-table-column>
-        <el-table-column prop="status" :label="t('推流状态')" align="center">
+        <el-table-column prop="streamStartTime" :label="t('启动时间')" width="160" align="center">
           <template #default="{ row }">
           <template #default="{ row }">
-            <el-tag size="small" :type="getStatusTagType(row.status)">
-              {{ getStatusLabel(row.status) }}
-            </el-tag>
+            {{ formatDateTime(row.streamStartTime) }}
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column prop="enabled" :label="t('启用')" align="center">
+        <el-table-column prop="streamEndTime" :label="t('关闭时间')" width="160" align="center">
           <template #default="{ row }">
           <template #default="{ row }">
-            <el-tag size="small" :type="row.enabled ? 'success' : 'danger'">
-              {{ row.enabled ? t('是') : t('否') }}
-            </el-tag>
-          </template>
-        </el-table-column>
-        <el-table-column prop="createdAt" :label="t('创建时间')" width="160" align="center">
-          <template #default="{ row }">
-            {{ formatDateTime(row.createdAt) }}
+            {{ formatDateTime(row.streamEndTime) }}
           </template>
           </template>
         </el-table-column>
         </el-table-column>
         <el-table-column :label="t('操作')" align="center" fixed="right">
         <el-table-column :label="t('操作')" align="center" fixed="right">
@@ -521,9 +509,11 @@ const sortState = reactive<{
 // 搜索表单
 // 搜索表单
 const searchForm = reactive<{
 const searchForm = reactive<{
   keyword: string
   keyword: string
+  cameraId: string
   enabled: boolean | null
   enabled: boolean | null
 }>({
 }>({
   keyword: '',
   keyword: '',
+  cameraId: '',
   enabled: null
   enabled: null
 })
 })
 
 

+ 6 - 14
src/views/lss/index.vue

@@ -71,7 +71,7 @@
         </el-table-column>
         </el-table-column>
         <el-table-column :label="t('设备列表')" align="center">
         <el-table-column :label="t('设备列表')" align="center">
           <template #default="{ row }">
           <template #default="{ row }">
-            <el-button type="primary" link @click="handleCameraList(row)">
+            <el-button type="primary" link @click="handleEdit(row, 'camera')">
               <Icon icon="mdi:cctv" />
               <Icon icon="mdi:cctv" />
             </el-button>
             </el-button>
           </template>
           </template>
@@ -112,7 +112,7 @@
         </el-table-column> -->
         </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)" />
+            <el-button type="primary" link :icon="Edit" @click="handleEdit(row, 'detail')" />
             <el-button type="primary" link @click="handleScanDevices(row)">
             <el-button type="primary" link @click="handleScanDevices(row)">
               <Icon icon="mdi:radar" />
               <Icon icon="mdi:radar" />
             </el-button>
             </el-button>
@@ -927,12 +927,12 @@ function handleScanDevices(row: LssNodeDTO) {
   console.log(row)
   console.log(row)
 }
 }
 
 
-function handleEdit(row: LssNodeDTO) {
+function handleEdit(row: LssNodeDTO, tab: 'detail' | 'camera' | 'pusher') {
   currentLss.value = row
   currentLss.value = row
   lssEditForm.lssName = row.lssName || ''
   lssEditForm.lssName = row.lssName || ''
   lssEditForm.address = row.address || ''
   lssEditForm.address = row.address || ''
   lssEditForm.ably = JSON.stringify(row.ably)
   lssEditForm.ably = JSON.stringify(row.ably)
-  editActiveTab.value = 'detail'
+  editActiveTab.value = tab
   lssEditDrawerVisible.value = true
   lssEditDrawerVisible.value = true
 }
 }
 
 
@@ -1348,19 +1348,11 @@ onMounted(() => {
 
 
 // 十字瞄准按钮样式
 // 十字瞄准按钮样式
 .crosshairs-btn {
 .crosshairs-btn {
-  color: #909399;
+  color: var(--color-info);
   transition: color 0.2s;
   transition: color 0.2s;
 
 
-  &:hover {
-    color: #606266;
-  }
-
   &.active {
   &.active {
-    color: red;
-
-    &:hover {
-      color: red;
-    }
+    color: var(--color-primary);
   }
   }
 }
 }