bill 8 months ago
parent
commit
9b2e696583

+ 1 - 0
src/request/URL.ts

@@ -12,6 +12,7 @@ export const addRelics = `/relics/artifact/addOrUpdate`;
 
 export const getScenesPage = `/relics/scene/page`;
 export const delScene = `/relics/artifact/delScene`;
+export const delScene1 = `relics/scene/del/`
 
 export const getRelicsScenes = `/relics/relics-scene/getAllList/:relicsId`;
 export const addRelicsScene = `/relics/relics-scene/add/:relicsId`;

+ 8 - 0
src/request/index.ts

@@ -255,6 +255,14 @@ export const delSceneFetch = (artifactId: string, sceneNum: string) =>
     }
   );
 
+  export const delSceneFetch1 = (id: number) =>
+    sendFetch(
+      URL.delScene1 + id,
+      {
+        method: "post",
+      }
+    );
+  
 export const repSceneFetch = (artifactId: string, numList: string[]) =>
   sendFetch("/relics/artifact/addScene", {
     method: "post",

+ 87 - 53
src/view/artifact-scenes/index.vue

@@ -1,73 +1,86 @@
 <template>
   <div class="layout">
-    <div class="left">
-      <div><Icon style="color: currentColor" /><span>场景管理</span></div>
+    <div class="header">
+      <el-button :icon="Back" circle type="primary" @click="router.back()" />
+      {{ sysTitle }}
+      <span></span>
     </div>
-    <div class="relics-content">
-      <div class="search" style="text-align: right; padding-bottom: 20px">
-        <el-button type="primary" @click="gotoSplit">分屏对比</el-button>
-        <el-button type="primary" plain @click="addHandler"> 添加场景 </el-button>
+
+    <div class="content">
+      <div class="left">
+        <div><Icon style="color: currentColor" /><span>场景管理</span></div>
       </div>
+      <div class="relics-content">
+        <div class="search" style="text-align: right; padding-bottom: 20px">
+          <el-button type="primary" @click="gotoSplit">分屏对比</el-button>
+          <el-button type="primary" plain @click="addHandler"> 添加场景 </el-button>
+        </div>
+
+        <el-table :data="scenes" border row-key="'sceneCode'">
+          <slot name="table"></slot>
+          <el-table-column label="场景标题" v-slot:default="{ row }">
+            <a class="link" @click="gotoScene(row, false)">
+              <TexToolTip :text="row.name" />
+            </a>
+          </el-table-column>
 
-      <el-table :data="scenes" border row-key="'sceneCode'">
-        <slot name="table"></slot>
-        <el-table-column label="场景标题" v-slot:default="{ row }">
-          <a class="link" @click="gotoScene(row, false)">
-            <TexToolTip :text="row.name" />
-          </a>
-        </el-table-column>
-
-        <el-table-column label="场景码" v-slot:default="{ row }">
-          <TexToolTip :text="row.num" />
-        </el-table-column>
-        <el-table-column label="点位数量" v-slot:default="{ row }">
-          <TexToolTip :text="row.shootCount || '-'" />
-        </el-table-column>
-        <!-- <el-table-column
+          <el-table-column label="场景码" v-slot:default="{ row }">
+            <TexToolTip :text="row.num" />
+          </el-table-column>
+          <el-table-column label="点位数量" v-slot:default="{ row }">
+            <TexToolTip :text="row.shootCount || '-'" />
+          </el-table-column>
+          <!-- <el-table-column
         label="设备类型"
         prop="snCode"
         v-slot:default="{ row }"
       >
         <TexToolTip :text="DeviceTypeDesc[row.cameraType as DeviceType]" />
       </el-table-column> -->
-        <el-table-column label="拍摄时间" prop="algorithmTime" v-slot:default="{ row }">
-          <TexToolTip :text="row.shootTime && row.shootTime.substr(0, 16)" />
-        </el-table-column>
-
-        <el-table-column label="计算完成时间" prop="createTime" v-slot:default="{ row }">
-          <TexToolTip :text="row.algorithmTime && row.algorithmTime.substr(0, 16)" />
-        </el-table-column>
-
-        <el-table-column label="状态" v-slot:default="{ row }">
-          <TexToolTip :text="SceneStatusDesc[(row.calcStatus as SceneStatus)]" />
-        </el-table-column>
-
-        <el-table-column label="操作" width="150" fixed="right">
-          <template #default="{ row }">
-            <el-button link type="primary" size="small" @click="gotoScene(row, false)">
-              查看
-            </el-button>
-            <el-button link type="primary" size="small" @click="gotoScene(row, true)">
-              编辑
-            </el-button>
-            <el-button
-              link
-              type="danger"
-              @click="delHandler(row)"
-              size="small"
-              v-if="row.calcStatus !== SceneStatus.RUN"
-            >
-              删除
-            </el-button>
-          </template>
-        </el-table-column>
-      </el-table>
+          <el-table-column label="拍摄时间" prop="algorithmTime" v-slot:default="{ row }">
+            <TexToolTip :text="row.shootTime && row.shootTime.substr(0, 16)" />
+          </el-table-column>
+
+          <el-table-column
+            label="计算完成时间"
+            prop="createTime"
+            v-slot:default="{ row }"
+          >
+            <TexToolTip :text="row.algorithmTime && row.algorithmTime.substr(0, 16)" />
+          </el-table-column>
+
+          <el-table-column label="状态" v-slot:default="{ row }">
+            <TexToolTip :text="SceneStatusDesc[(row.calcStatus as SceneStatus)]" />
+          </el-table-column>
+
+          <el-table-column label="操作" width="150" fixed="right">
+            <template #default="{ row }">
+              <el-button link type="primary" size="small" @click="gotoScene(row, false)">
+                查看
+              </el-button>
+              <el-button link type="primary" size="small" @click="gotoScene(row, true)">
+                编辑
+              </el-button>
+              <el-button
+                link
+                type="danger"
+                @click="delHandler(row)"
+                size="small"
+                v-if="row.calcStatus !== SceneStatus.RUN"
+              >
+                删除
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
     </div>
   </div>
 </template>
 
 <script setup lang="ts">
 import Icon from "@/assets/icon/cjgl_active.svg";
+import { Back } from "@element-plus/icons-vue";
 import Layout from "@/view/layout/nav.vue";
 import TexToolTip from "@/components/tex-tooltip.vue";
 import {
@@ -143,6 +156,27 @@ const gotoSplit = () => {
   display: flex;
   width: 100%;
   height: 100%;
+  flex-direction: column;
+}
+.header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  min-height: 60px;
+  padding: 4px 10px;
+  border-bottom: 1px solid var(--border-color);
+  font-family: Microsoft YaHei, Microsoft YaHei;
+  font-weight: bold;
+  font-size: 20px;
+  color: #303133;
+  line-height: 23px;
+  letter-spacing: 2px;
+  font-style: normal;
+}
+.content {
+  flex: 1;
+  display: flex;
+  width: 100%;
 }
 .left {
   font-size: 18px;

+ 1 - 1
src/view/artifacts/index.vue

@@ -153,7 +153,7 @@ watch(pageProps, refresh, { deep: true, immediate: true });
 onActivated(refresh);
 
 const queryHandler = (item: Relics) => {
-  window.open(router.resolve({ name: "artifact-scenes", params: { id: item.id } }).href);
+  router.push({ name: "artifact-scenes", params: { id: item.id } });
 };
 
 const handleAddArtifact = () => {};

+ 1 - 1
src/view/layout/nav.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="main-layout" :class="{ [routeName]: true }">
-    <div class="header" :class="{ [name]: true }">
+    <div class="header" :class="{ [name]: true }" v-if="routeName !== 'artifact-scenes'">
       <span class="title-span">
         <el-button
           :icon="Back"

+ 2 - 2
src/view/scene.vue

@@ -197,7 +197,7 @@
 
 <script lang="ts" setup>
 import { onActivated, ref, watch } from "vue";
-import { scenePageFetch, ScenePageProps, delSceneFetch } from "@/request";
+import { scenePageFetch, ScenePageProps, delSceneFetch, delSceneFetch1 } from "@/request";
 import {
   SceneStatusDesc,
   SceneStatus,
@@ -238,7 +238,7 @@ const delHandler = async (relicsId: number) => {
     type: "warning",
   });
   if (ok) {
-    await delSceneFetch(relicsId);
+    await delSceneFetch1(relicsId);
     await refresh();
   }
 };