wangfumin пре 3 месеци
родитељ
комит
fbc9480da3

+ 28 - 12
src/app/criminal/view/example/criminalDetails.vue

@@ -5,6 +5,9 @@
         :default-active="currentMenuKey"
         class="menu-vertical"
       >
+      <div class="el-menu-item" slot="Menu-Item" @click="expandFireNews">
+          编辑案件
+        </div>
         <el-menu-item 
           v-for="menu in menus" 
           :key="menu.key"
@@ -117,7 +120,10 @@ const handleMenuClick = (menu) => {
   // 执行菜单项的点击事件
   menu.onClick();
 };
-
+const expandFireNews = () => {
+  // 不切换标签页,只打开编辑弹窗
+  editHandler(currentRecord.value.tmProject);
+}
 // 开始录制方法
 const startRecording = () => {
   if (!caseId.value) return;
@@ -140,14 +146,14 @@ const menus = computed(() => {
   const fuseLink = getFuseCodeLink(currentCaseId);
 
   return [
-    {
-      key: "info",
-      disabled: false, // 默认不禁用,与原来不同
-      label: "编辑案件",
-      onClick: () => {
-        editHandler(currentRecord.value.tmProject);
-      },
-    },
+    // {
+    //   key: "info",
+    //   disabled: false, // 默认不禁用,与原来不同
+    //   label: "编辑案件",
+    //   onClick: () => {
+    //     editHandler(currentRecord.value.tmProject);
+    //   },
+    // },
     {
       key: "scene",
       disabled: false, // 默认不禁用,与原来不同
@@ -211,7 +217,11 @@ const currentMenu = computed(() => {
   return menus.value.find(menu => menu.key === currentMenuKey.value);
 });
 </script>
-
+<style>
+.layer .content .view .main{
+  margin: 0!important;
+}
+</style>
 <style lang="scss" scoped>
 .fire-details {
   display: flex;
@@ -222,17 +232,23 @@ const currentMenu = computed(() => {
     border-right: 1px solid #e6e6e6;
     
     .menu-vertical {
+      width: 200px;
+      padding-left: 30px;
       height: 100%;
+      text-align: center;
     }
   }
   
   .content {
     flex: 1;
-    padding: 20px;
+    padding: 0 16px 16px 16px;
     
     .content-placeholder {
       text-align: center;
-      height: 100%;
+      background: #fff;
+      padding: 20px;
+      height: calc(100% - 40px);
+      overflow: auto;
     }
   }
 }

+ 49 - 25
src/app/fire/view/dispatch/fireDetails.vue

@@ -5,6 +5,9 @@
         :default-active="currentMenuKey"
         class="menu-vertical"
       >
+        <div class="el-menu-item" slot="Menu-Item" @click="expandFireNews">
+          火调信息
+        </div>
         <el-menu-item 
           v-for="menu in menus" 
           :key="menu.key"
@@ -87,21 +90,30 @@ onMounted(() => {
 });
 
 // 处理菜单点击事件
-const handleMenuClick = (menu) => {
+const handleMenuClick = async(menu) => {
   currentMenuKey.value = menu.key;
-  
-  // 更新路由,保留当前的 tab 参数
-  vueRouter.replace({
-    path: route.path,
-    query: {
-      ...route.query,
-      tab: menu.key
+    // 更新路由,保留当前的 tab 参数
+    vueRouter.replace({
+      path: route.path,
+      query: {
+        ...route.query,
+        tab: menu.key
+      }
+    });
+    
+    // 执行菜单项的点击事件
+    menu.onClick();
+    const caseInfo = await getCaseInfo(caseId.value!);
+    if (caseInfo) {
+      // 设置页面标题,使用案件信息
+      pageTitle.value = caseInfo.caseTitle + " | 详情"; // 使用 pageTitle
+      desc.value = "";
     }
-  });
-  
-  // 执行菜单项的点击事件
-  menu.onClick();
 };
+const expandFireNews = () => {
+  // 不切换标签页,只打开编辑弹窗
+  editHandler(currentRecord.value.tmProject);
+}
 
 // 开始录制方法
 const startRecording = () => {
@@ -123,14 +135,17 @@ const menus = computed(() => {
   const fuseLink = getFuseCodeLink(currentCaseId);
 
   return [
-    {
-      key: "info",
-      disabled: false, // 默认不禁用,与原来不同
-      label: "火调信息",
-      onClick: () => {
-        editHandler(currentRecord.value.tmProject);
-      },
-    },
+    // {
+    //   key: "info",
+    //   disabled: false, // 默认不禁用,与原来不同
+    //   label: "火调信息",
+    //   onClick: () => {
+    //     // 不切换标签页,只打开编辑弹窗
+    //     editHandler(currentRecord.value.tmProject);
+    //     // 恢复之前的标签页
+    //     currentMenuKey.value = route.query.tab as string || 'scene';
+    //   },
+    // },
     {
       key: "scene",
       disabled: false, // 默认不禁用,与原来不同
@@ -183,7 +198,7 @@ const menus = computed(() => {
       key: "screenRecord", // 修改为唯一的 key,避免与勘验笔录冲突
       label: "屏幕录制",
       onClick: () => {
-        // checkScenesOpen(currentCaseId, `${fuseLink}#sceneEdit/record`);
+        checkScenesOpen(currentCaseId, `${fuseLink}#sceneEdit/record`);
       },
     },
   ];
@@ -194,7 +209,11 @@ const currentMenu = computed(() => {
   return menus.value.find(menu => menu.key === currentMenuKey.value);
 });
 </script>
-
+<style>
+.layer .content .view .main{
+  margin: 0!important;
+}
+</style>
 <style lang="scss" scoped>
 .fire-details {
   display: flex;
@@ -203,19 +222,24 @@ const currentMenu = computed(() => {
   .sidebar {
     width: 200px;
     border-right: 1px solid #e6e6e6;
-    
     .menu-vertical {
+      width: 200px;
+      padding-left: 30px;
       height: 100%;
+      text-align: center;
     }
   }
   
   .content {
     flex: 1;
-    padding: 20px;
+    padding: 0 16px 16px 16px;
     
     .content-placeholder {
       text-align: center;
-      height: 100%;
+      background: #fff;
+      padding: 20px;
+      height: calc(100% - 40px);
+      overflow: auto;
     }
   }
 }

+ 2 - 2
src/view/case/newCaseFile.vue

@@ -231,8 +231,8 @@ onMounted(async () => {
       const caseInfo = await getCaseInfo(caseId.value);
       if (caseInfo) {
         caseInfoData.value = caseInfo;
-        title.value = caseInfo.caseTitle + " | 卷宗管理";
-        desc.value = "";
+        // title.value = caseInfo.caseTitle + " | 卷宗管理";
+        // desc.value = "";
       } else {
         console.error("该案件不存在!");
         throw "该案件不存在!";

+ 24 - 3
src/view/case/sceneList.vue

@@ -5,7 +5,7 @@
     <el-button type="primary" @click="addScenesHandler">添加场景</el-button>
   </div>
 
-  <el-table :data="list" tooltip-effect="dark" style="width: 100%" size="large">
+  <el-table :data="list" tooltip-effect="dark" class="table-list" style="width: 100%;" size="large">
     <el-table-column label="标题" v-slot:default="{ row }">
       {{ row.type === SceneType.SWMX ? row.modelTitle : row.name }}
     </el-table-column>
@@ -16,7 +16,7 @@
       {{ row.createTime.substr(0, 16) }}
     </el-table-column>
     <el-table-column label="所属架构" prop="deptName"></el-table-column>
-    <el-table-column label="操作" v-slot:default="{ row }: { row: Scene }" width="160">
+    <el-table-column label="操作" v-slot:default="{ row }: { row: Scene }" width="200">
       <span
         class="oper-span"
         v-pdpath="['view']"
@@ -56,6 +56,8 @@ import {
 } from "@/store/scene";
 import { onMounted, ref } from "vue";
 import { openSceneUrl, OpenType } from "./help";
+import { title, desc } from "@/store/system";
+import { getCaseInfo } from "@/store/case";
 
 const props = defineProps<{
   caseId: number;
@@ -91,5 +93,24 @@ const delCaseScene = async (scene: Scene) => {
     refresh();
   }
 };
-onMounted(refresh);
+onMounted(async() => {
+  const caseInfo = await getCaseInfo(props.caseId);
+    if (caseInfo) {
+      // 设置页面标题,使用案件信息
+      title.value = caseInfo.caseTitle + " | 详情"; // 使用 pageTitle
+      desc.value = "";
+    } else {
+      console.error("该案件不存在!");
+      throw "该案件不存在!";
+    }
+  refresh();
+});
 </script>
+<style scoped>
+.table-list{
+  border: 1px solid #ebeef5;
+  border-bottom: none;
+  height: calc(100% - 60px);
+  overflow: auto;
+}
+</style>