|  |  |  | 
|---|
|  |  |  | <!-- 表格和分页 --> | 
|---|
|  |  |  | <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.OperaMenuComWindow.open('新建一级菜单',null,null,1)" 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | v-if="containPermissions(['system:menu:update', 'system:menu:create', 'system:menu:delete'])" | 
|---|
|  |  |  | label="操作" | 
|---|
|  |  |  | min-width="220" | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | v-if="containPermissions(['system:menu:update', 'system:menu:create', 'system:menu:delete'])" | 
|---|
|  |  |  | label="操作" | 
|---|
|  |  |  | min-width="220" | 
|---|
|  |  |  | 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.OperaMenuComWindow.open('编辑菜单', {...row, type: 1})" v-permissions="['system:menu:update']">编辑</el-button> | 
|---|
|  |  |  | <el-button type="text" icon="el-icon-plus" @click="$refs.OperaMenuComWindow.open('新建子菜单', null, {...row, type: 1})" 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> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <!-- 新建/修改 --> | 
|---|
|  |  |  | <OperaMenuWindow ref="operaMenuWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/> | 
|---|
|  |  |  | <OperaMenuComWindow ref="OperaMenuComWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/> | 
|---|
|  |  |  | </TableLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import TableLayout from '@/layouts/TableLayout' | 
|---|
|  |  |  | import BaseTable from '@/components/base/BaseTable' | 
|---|
|  |  |  | import OperaMenuWindow from '@/components/system/menu/OperaMenuWindow' | 
|---|
|  |  |  | import { fetchTree, updateStatus, sort } from '@/api/system/menu' | 
|---|
|  |  |  | import OperaMenuComWindow from '@/components/system/menu/OperaMenuComWindow' | 
|---|
|  |  |  | import { fetchTree1, updateStatus, sort } from '@/api/system/menu' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'SystemMenu', | 
|---|
|  |  |  | extends: BaseTable, | 
|---|
|  |  |  | components: { OperaMenuWindow, TableLayout }, | 
|---|
|  |  |  | components: { OperaMenuComWindow, TableLayout }, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 是否正在处理中 | 
|---|
|  |  |  | 
|---|
|  |  |  | // 查询数据 | 
|---|
|  |  |  | handlePageChange () { | 
|---|
|  |  |  | this.isWorking.search = true | 
|---|
|  |  |  | fetchTree(1) | 
|---|
|  |  |  | fetchTree1() | 
|---|
|  |  |  | .then(records => { | 
|---|
|  |  |  | this.tableData.list = records | 
|---|
|  |  |  | }) | 
|---|