From 6728f709c48580c154e858666f310443f9e791ef Mon Sep 17 00:00:00 2001
From: yanfeiyong <2060201549@qq.com>
Date: Fri, 7 Mar 2025 09:23:12 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=A1=B9=E7=9B=AE=E8=AF=A6?=
 =?UTF-8?q?=E6=83=85=E7=9A=84=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/components/Breadcrumb/index.vue           |  1 +
 src/store/getters.js                          |  1 +
 src/store/modules/permission.js               | 20 +++++++++++++++--
 .../{manage/details => manage-info}/index.vue | 22 +++++++++----------
 src/views/manage/{information => }/index.vue  | 12 +++++-----
 5 files changed, 37 insertions(+), 19 deletions(-)
 rename src/views/{manage/details => manage-info}/index.vue (85%)
 rename src/views/manage/{information => }/index.vue (97%)

diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
index 080595a..d7fc18d 100644
--- a/src/components/Breadcrumb/index.vue
+++ b/src/components/Breadcrumb/index.vue
@@ -4,6 +4,7 @@
       <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
         <span v-if="item.redirect === 'noRedirect' || index == levelList.length - 1" class="no-redirect">{{ item.meta.title }}</span>
         <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
+        <!-- <span class="no-redirect" v-show="crumbs"> /{{ crumbs }}</span> -->
       </el-breadcrumb-item>
     </transition-group>
   </el-breadcrumb>
diff --git a/src/store/getters.js b/src/store/getters.js
index 8adb1b6..98e3301 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -15,5 +15,6 @@ const getters = {
   topbarRouters:state => state.permission.topbarRouters,
   defaultRoutes:state => state.permission.defaultRoutes,
   sidebarRouters:state => state.permission.sidebarRouters,
+  crmbs: state => state.permission.crumbs
 }
 export default getters
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index b3c216a..4ee1a1d 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -11,9 +11,13 @@ const permission = {
     addRoutes: [],
     defaultRoutes: [],
     topbarRouters: [],
-    sidebarRouters: []
+    sidebarRouters: [],
+    crumbs:""
   },
   mutations: {
+    SET_CRUMBS: (state, crumbs) => {
+      state.crumbs = crumbs;
+    },
     SET_ROUTES: (state, routes) => {
       state.addRoutes = routes
       state.routes = constantRoutes.concat(routes)
@@ -58,6 +62,11 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
     if (type && route.children) {
       route.children = filterChildren(route.children)
     }
+    //新增修改不是弹窗的形式
+    if(extractPrefix(route.path)){
+      route.meta.activeMenu = extractPrefix(route.path);
+    }
+
     if (route.component) {
       // Layout ParentView 组件特殊处理
       if (route.component === 'Layout') {
@@ -79,7 +88,14 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
     return true
   })
 }
-
+ function extractPrefix (str){
+  const pattern = /(.+?)(-info|-add|-edit)/;
+  const match = str.match(pattern);
+  if(match){
+    return match[1]
+  }
+  return null;
+ }
 function filterChildren(childrenMap, lastRouter = false) {
   var children = []
   childrenMap.forEach((el, index) => {
diff --git a/src/views/manage/details/index.vue b/src/views/manage-info/index.vue
similarity index 85%
rename from src/views/manage/details/index.vue
rename to src/views/manage-info/index.vue
index 5e6b6f3..06a3218 100644
--- a/src/views/manage/details/index.vue
+++ b/src/views/manage-info/index.vue
@@ -62,17 +62,17 @@
 </template>
 
 <script>
-import Basic from '../../components/ProjectDetails/Basic.vue';
-import Buildings from '../../components/ProjectDetails/Buildings.vue';
-import Companyenter from '../../components/ProjectDetails/companyenter.vue';
-import Liver from '../../components/ProjectDetails/Liver.vue';
-import Memo from '../../components/ProjectDetails/Memo.vue';
-import Models from '../../components/ProjectDetails/Models.vue';
-import Months from '../../components/ProjectDetails/Months.vue';
-import Programme from '../../components/ProjectDetails/Programme.vue';
-import Projectgift from '../../components/ProjectDetails/Projectgift.vue';
-import Projectpicture from '../../components/ProjectDetails/Projectpicture.vue';
-import Projectpicturetwo from '../../components/ProjectDetails/Projectpicturetwo.vue';
+import Basic from '../components/ProjectDetails/Basic.vue';
+import Buildings from '../components/ProjectDetails/Buildings.vue';
+import Companyenter from '../components/ProjectDetails/companyenter.vue';
+import Liver from '../components/ProjectDetails/Liver.vue';
+import Memo from '../components/ProjectDetails/Memo.vue';
+import Models from '../components/ProjectDetails/Models.vue';
+import Months from '../components/ProjectDetails/Months.vue';
+import Programme from '../components/ProjectDetails/Programme.vue';
+import Projectgift from '../components/ProjectDetails/Projectgift.vue';
+import Projectpicture from '../components/ProjectDetails/Projectpicture.vue';
+import Projectpicturetwo from '../components/ProjectDetails/Projectpicturetwo.vue';
 
 export default {
     components: {
diff --git a/src/views/manage/information/index.vue b/src/views/manage/index.vue
similarity index 97%
rename from src/views/manage/information/index.vue
rename to src/views/manage/index.vue
index 74445cc..d9bde58 100644
--- a/src/views/manage/information/index.vue
+++ b/src/views/manage/index.vue
@@ -86,7 +86,7 @@
         <el-table-column label="总用地面积(平方米)" align="center" prop="postSort" />
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
-            <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)"
+            <el-button size="mini" type="text" icon="el-icon-view" @click="getInfo"
               v-hasPermi="['system:post:detail']">详情</el-button>
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
               v-hasPermi="['system:post:edit']">修改</el-button>
@@ -128,7 +128,7 @@
     </el-dialog>
     <!-- 批量导入对话框                     :headers="upload.headers"    -->
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" 
+      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls"
         :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
         :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
         <i class="el-icon-upload"></i>
@@ -297,9 +297,9 @@ export default {
       });
     },
     /** 详情按钮操作 */
-    handleDetail(row) {
-      const postId = row.postId;
-      this.$router.push("/manage/detail/" + postId);
+    getInfo() {
+      this.$store.commit("SET_CRUMBS", this.$route.meta.title + "详情");
+      this.$router.push("/manage-info"); 
     },
     /** 提交按钮 */
     submitForm: function () {
@@ -324,7 +324,7 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const postIds = row.postId || this.ids;
-      this.$modal.confirm('是否确认删除项目编号为"' + postIds + '"的数据项?' + '删除这条信息之后有可能找不回来了,请思考一下哟!'  ).then(function () {
+      this.$modal.confirm('是否确认删除项目编号为"' + postIds + '"的数据项?' + '删除这条信息之后有可能找不回来了,请思考一下哟!').then(function () {
         return delPost(postIds);
       }).then(() => {
         this.getList();