From 9b8baee48d0bdd95ea157be10e7c24711c511dc1 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期五, 19 九月 2025 09:26:03 +0800 Subject: [PATCH] 最新版本541200007 --- admin/src/views/system/menu.vue | 52 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 43 insertions(+), 9 deletions(-) diff --git a/admin/src/views/system/menu.vue b/admin/src/views/system/menu.vue index 3eb9fe1..44e1bac 100644 --- a/admin/src/views/system/menu.vue +++ b/admin/src/views/system/menu.vue @@ -1,9 +1,17 @@ <template> <TableLayout class="menu-layout" :permissions="['system:menu:query']"> + <el-form ref="searchForm" slot="search-form" label-width="100px" inline> + <div class="platgroup_tabs"> + <div class="tab" :class="{ active: activeGroup === item.id }" @click="groupClick(item)" + v-for="(item, i) in groupList" :key="i"> + {{ item.name }} + </div> + </div> + </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['system:menu:create', 'system:menu:delete', 'system:menu:sort']"> - <li><el-button type="primary" @click="$refs.operaMenuWindow.open('鏂板缓涓�绾ц彍鍗�')" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li> + <li><el-button type="primary" @click="$refs.operaMenuWindow.open(activeGroup==0?'鏂板缓涓�绾ц彍鍗�':'鏂板缓椤堕儴瀵艰埅鑿滃崟',null,null,activeGroup)" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li> <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:menu:delete']">鍒犻櫎</el-button></li> <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['system:menu:sort']">涓婄Щ</el-button></li> <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li> @@ -20,14 +28,14 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" fixed="left"></el-table-column> - <el-table-column prop="name" label="鑿滃崟鍚嶇О" fixed="left" min-width="160px"></el-table-column> - <el-table-column prop="icon" label="鍥炬爣" min-width="80px" class-name="table-column-icon"> + <el-table-column prop="name" label="鑿滃崟鍚嶇О" fixed="left" min-width="160px" show-tooltip-when-overflow></el-table-column> + <el-table-column prop="icon" v-if="activeGroup !== 1" label="鍥炬爣" min-width="80px" class-name="table-column-icon"> <template slot-scope="{row}"> <i v-if="row.icon != null && row.icon !== ''" :class="{[row.icon]: true}"></i> <template v-else>鏈缃�</template> </template> </el-table-column> - <el-table-column prop="path" label="璁块棶璺緞" min-width="140px"></el-table-column> + <el-table-column prop="path" label="璁块棶璺緞" show-tooltip-when-overflow min-width="220px"></el-table-column> <el-table-column prop="params" label="鍙傛暟" min-width="120px"></el-table-column> <el-table-column prop="remark" label="澶囨敞" min-width="120px"></el-table-column> <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px"> @@ -38,7 +46,7 @@ <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template> </el-table-column> <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column> - <el-table-column prop="disabled" label="鏄惁鍚敤" min-width="80px"> + <el-table-column prop="disabled" label="鏄惁鍚敤" min-width="80px" fixed="right"> <template slot-scope="{row}"> <el-switch v-model="row.disabled" :active-value="false" :inactive-value="true" @change="switchDisabled(row)"/> </template> @@ -50,8 +58,8 @@ fixed="right" > <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row)" v-permissions="['system:menu:update']">缂栬緫</el-button> - <el-button type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button> + <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row,null,activeGroup)" v-permissions="['system:menu:update']">缂栬緫</el-button> + <el-button v-if="activeGroup !== 1" type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row,activeGroup)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button> <el-button v-if="!row.fixed" type="text" icon="el-icon-delete" @click="deleteById(row)" v-permissions="['system:menu:delete']">鍒犻櫎</el-button> </template> </el-table-column> @@ -74,16 +82,22 @@ data () { return { // 鏄惁姝e湪澶勭悊涓� + activeGroup: 0, + groupList:[{id:0,name: "鏈嶅姟涓績鑿滃崟"},{id:1,name: "椤堕儴瀵艰埅閰嶇疆"}], isWorking: { sort: false } } }, methods: { + groupClick(item){ + this.activeGroup = item.id + this.handlePageChange(); + }, // 鏌ヨ鏁版嵁 handlePageChange () { this.isWorking.search = true - fetchTree() + fetchTree({type: this.activeGroup}) .then(records => { this.tableData.list = records }) @@ -206,9 +220,29 @@ <style lang="scss" scoped> @import "@/assets/style/variables.scss"; +.platgroup_tabs { + flex: 1; + display: flex; + border-bottom: 1px solid #dfe2e8; + + .tab { + color: #666666; + margin-right: 40px; + cursor: pointer; + padding-bottom: 18px; + border-bottom: 2px solid #fff; + } + + .active { + font-weight: 500; + font-size: 15px; + color: #222222; + border-bottom: 2px solid $primary-color; + } +} .menu-layout { /deep/ .table-content { - margin-top: 0; + margin-top: 0px; } } // 鍥炬爣鍒� -- Gitblit v1.9.3