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();