mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-30 06:20:50 +00:00
improve: 代码生成及菜单刷新
This commit is contained in:
parent
81b3f9a14a
commit
1f04b00b0a
@ -94,6 +94,15 @@ export default {
|
||||
this.$refs.layoutAsideRef.update();
|
||||
}, 300);
|
||||
});
|
||||
if (this.$store.state.themeConfig.themeConfig.layout !== 'columns') {
|
||||
this.bus.$on('routesListChange', () => {
|
||||
console.log('变了大哥');
|
||||
this.setFilterRoutes();
|
||||
});
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.bus.$off('routesListChange');
|
||||
},
|
||||
methods: {
|
||||
// 设置/过滤路由(非静态路由/是否显示在菜单中)
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
$t(v.title) && $t(v.title).length >= 4
|
||||
? $t(v.title).substr(0, setColumnsAsidelayout === 'columns-vertical' ? 4 : 3)
|
||||
: $t(v.title)
|
||||
}}
|
||||
}}1
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@ -63,13 +63,27 @@ export default {
|
||||
},
|
||||
// 设置分栏布局风格
|
||||
setColumnsAsidelayout() {
|
||||
console.log('111');
|
||||
return this.$store.state.themeConfig.themeConfig.columnsAsideLayout;
|
||||
},
|
||||
Layout() {
|
||||
return this.$store.state.themeConfig.themeConfig.Layout;
|
||||
},
|
||||
routesList() {
|
||||
console.log('大哥');
|
||||
|
||||
this.$store.state.routesList.routesList;
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
console.log('zoule');
|
||||
this.bus.$off('routesListChange');
|
||||
},
|
||||
mounted() {
|
||||
this.bus.$on('routesListChange', () => {
|
||||
console.log('变了大哥');
|
||||
this.setFilterRoutes();
|
||||
});
|
||||
this.setFilterRoutes();
|
||||
},
|
||||
methods: {
|
||||
|
||||
@ -34,6 +34,13 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.setFilterRoutes();
|
||||
this.bus.$on('routesListChange', () => {
|
||||
console.log('变了大哥');
|
||||
this.setFilterRoutes();
|
||||
});
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.bus.$off('routesListChange');
|
||||
},
|
||||
methods: {
|
||||
// 设置路由的过滤
|
||||
@ -72,6 +79,6 @@ export default {
|
||||
padding-right: 15px;
|
||||
overflow: hidden;
|
||||
background: var(--prev-bg-topBar);
|
||||
// border-bottom: 1px solid var(--prev-border-color-lighter);
|
||||
// border-bottom: 1px solid var(--prev-border-color-lighter);
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -365,12 +365,16 @@ export default {
|
||||
themeSelect['--prev-MenuActiveColor'] = '#fff';
|
||||
if (val == 'theme-1') {
|
||||
themeSelect['--prev-bg-menu-hover-ba-color'] = '#1890ff';
|
||||
themeSelect['--prev-bg-menuBar'] = '#282c34';
|
||||
} else if (val == 'theme-3') {
|
||||
themeSelect['--prev-bg-menu-hover-ba-color'] = '#41b584';
|
||||
themeSelect['--prev-bg-menuBar'] = '#282c34';
|
||||
} else if (val == 'theme-5') {
|
||||
themeSelect['--prev-bg-menu-hover-ba-color'] = '#6954f0';
|
||||
themeSelect['--prev-bg-menuBar'] = '#282c34';
|
||||
} else if (val == 'theme-7') {
|
||||
themeSelect['--prev-bg-menu-hover-ba-color'] = '#f34d37';
|
||||
themeSelect['--prev-bg-menuBar'] = '#282c34';
|
||||
}
|
||||
} else if (this.getThemeConfig.layout === 'columns') {
|
||||
themeSelect['--prev-bg-topBar'] = '#fff';
|
||||
|
||||
@ -195,55 +195,15 @@ new Vue({
|
||||
watch: {
|
||||
// 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
|
||||
$route(to, from) {
|
||||
console.log(to, 'newRoute');
|
||||
const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : '';
|
||||
this.$store.commit('menu/setActivePath', onRoutes);
|
||||
|
||||
// const path = to.path;
|
||||
// let menus = this.$store.state.menus.menusName;
|
||||
// const menuSider = menus;
|
||||
// const headerName = getHeaderName(to, menuSider);
|
||||
// if (headerName !== null) {
|
||||
// this.$store.commit('menu/setActivePath', path);
|
||||
// let openNameList = getMenuopen(to, menuSider);
|
||||
// this.$store.commit('menus/setopenMenus', openNameList);
|
||||
// const openNames = getSiderSubmenu(to, menuSider);
|
||||
// this.$store.commit('menu/setOpenNames', openNames);
|
||||
// // 设置顶栏菜单 后台添加一个接口,设置顶部菜单
|
||||
// const headerSider = getHeaderSider(menuSider);
|
||||
// this.$store.commit('menu/setHeader', headerSider);
|
||||
// // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
|
||||
// this.$store.commit('menu/setHeaderName', headerName);
|
||||
// // 获取侧边栏菜单
|
||||
// const filterMenuSider = getMenuSider(menuSider, headerName);
|
||||
// // 指定当前显示的侧边菜单
|
||||
// this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
|
||||
// this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
|
||||
// } else {
|
||||
// //子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
|
||||
// if (to.name == 'home_index') {
|
||||
// this.$store.commit('menu/setHeaderName', settings.routePre + '/home/');
|
||||
// this.$store.commit('menu/setSider', []);
|
||||
// }
|
||||
// // 指定当前显示的侧边菜单
|
||||
// }
|
||||
// if (to.meta.kefu) {
|
||||
// document.getElementsByTagName('body')[0].className = 'kf_mobile';
|
||||
// } else {
|
||||
// document.getElementsByTagName('body')[0].className = '';
|
||||
// }
|
||||
// // var storage = window.localStorage;
|
||||
// // let menus = JSON.parse(storage.getItem('menuList'));
|
||||
// // this.getMenus().then(menus => {
|
||||
// // 处理手动清除db 跳转403问题
|
||||
// if (!menus.length) {
|
||||
// if (path !== '/admin/login') {
|
||||
// this.$router.replace('/admin/login');
|
||||
// }
|
||||
// return;
|
||||
// }
|
||||
// // 在 404 时,是没有 headerName 的
|
||||
// // });
|
||||
if (to.name == 'crud_crud') {
|
||||
this.$store.state.menus.oneLvRoutes.map((e) => {
|
||||
if (e.path === to.path) {
|
||||
to.meta.title = e.title;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -214,6 +214,8 @@ export default {
|
||||
let arr = formatFlatteningRoutes(this.$router.options.routes);
|
||||
this.formatTwoStageRoutes(arr);
|
||||
this.$store.commit('menus/setOneLvMenus', arr);
|
||||
let routes = formatFlatteningRoutes(data.menus);
|
||||
this.$store.commit('menus/setOneLvRoute', routes);
|
||||
|
||||
// 记录用户信息
|
||||
this.$store.commit('userInfo/name', data.user_info.account);
|
||||
|
||||
@ -407,7 +407,7 @@ export default {
|
||||
this.modals = false;
|
||||
this.$emit('changeMenu');
|
||||
this.getAddFrom();
|
||||
this.$store.dispatch('admin/menus/getMenusNavList');
|
||||
// this.$store.dispatch('menus/getMenusNavList');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.valids = false;
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
<div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Form
|
||||
ref="roleData"
|
||||
:model="roleData"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
ref="roleData"
|
||||
:model="roleData"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<Row type="flex" :gutter="24">
|
||||
<Col v-bind="grid">
|
||||
@ -19,30 +19,29 @@
|
||||
</Col>
|
||||
<Col v-bind="grid">
|
||||
<FormItem label="按钮名称:" prop="status2" label-for="status2">
|
||||
<Input v-model="roleData.keyword" search enter-button placeholder="请输入按钮名称" @on-search="getData"/>
|
||||
<Input v-model="roleData.keyword" search enter-button placeholder="请输入按钮名称" @on-search="getData" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
<Row type="flex">
|
||||
<Col v-bind="grid">
|
||||
<Button v-auth="['setting-system_menus-add']" type="primary" @click="menusAdd('添加规则')" icon="md-add"
|
||||
>添加规则
|
||||
</Button
|
||||
>
|
||||
>添加规则
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<vxe-table
|
||||
:border="false"
|
||||
class="vxeTable mt25"
|
||||
highlight-hover-row
|
||||
highlight-current-row
|
||||
:loading="loading"
|
||||
ref="xTable"
|
||||
header-row-class-name="false"
|
||||
:tree-config="tabconfig"
|
||||
:data="tableData"
|
||||
row-id="id"
|
||||
:border="false"
|
||||
class="vxeTable mt25"
|
||||
highlight-hover-row
|
||||
highlight-current-row
|
||||
:loading="loading"
|
||||
ref="xTable"
|
||||
header-row-class-name="false"
|
||||
:tree-config="tabconfig"
|
||||
:data="tableData"
|
||||
row-id="id"
|
||||
>
|
||||
<vxe-table-column field="id" title="ID" tooltip min-width="70"></vxe-table-column>
|
||||
<vxe-table-column field="menu_name" tree-node title="按钮名称" min-width="200"></vxe-table-column>
|
||||
@ -56,12 +55,12 @@
|
||||
<vxe-table-column field="flag" title="规则状态" min-width="120">
|
||||
<template v-slot="{ row }">
|
||||
<i-switch
|
||||
v-model="row.is_show"
|
||||
:value="row.is_show"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
v-model="row.is_show"
|
||||
:value="row.is_show"
|
||||
:true-value="1"
|
||||
:false-value="0"
|
||||
@on-change="onchangeIsShow(row)"
|
||||
size="large"
|
||||
>
|
||||
<span slot="open">显示</span>
|
||||
<span slot="close">隐藏</span>
|
||||
@ -72,62 +71,64 @@
|
||||
<template v-slot="{ row, index }">
|
||||
<span v-auth="['setting-system_menus-add']">
|
||||
<a @click="addRoute(row)" v-if="row.auth_type === 1">添加权限</a>
|
||||
<Divider type="vertical" v-if="row.auth_type === 1"/>
|
||||
<Divider type="vertical" v-if="row.auth_type === 1" />
|
||||
<a @click="addE(row, '添加子菜单')" v-if="row.auth_type === 1">添加子菜单</a>
|
||||
<!-- <a @click="addE(row, '添加规则')" v-else>添加规则</a> -->
|
||||
</span>
|
||||
<Divider type="vertical" v-if="row.auth_type === 1"/>
|
||||
<Divider type="vertical" v-if="row.auth_type === 1" />
|
||||
<a @click="edit(row, '编辑')">编辑</a>
|
||||
<Divider type="vertical"/>
|
||||
<Divider type="vertical" />
|
||||
<a @click="del(row, '删除规则')">删除</a>
|
||||
</template>
|
||||
</vxe-table-column>
|
||||
</vxe-table>
|
||||
</Card>
|
||||
<menus-from
|
||||
:formValidate="formValidate"
|
||||
:titleFrom="titleFrom"
|
||||
@getList="getList"
|
||||
@changeMenu="getMenusUnique"
|
||||
ref="menusFrom"
|
||||
@clearFrom="clearFrom"
|
||||
:formValidate="formValidate"
|
||||
:titleFrom="titleFrom"
|
||||
@getList="getList"
|
||||
@changeMenu="getMenusUnique"
|
||||
ref="menusFrom"
|
||||
@clearFrom="clearFrom"
|
||||
></menus-from>
|
||||
<Modal
|
||||
v-model="ruleModal"
|
||||
scrollable
|
||||
width="1100"
|
||||
title="权限列表"
|
||||
@on-ok="addRouters"
|
||||
@on-cancel="ruleModal = false"
|
||||
@on-visible-change="modalchange"
|
||||
v-model="ruleModal"
|
||||
scrollable
|
||||
width="1100"
|
||||
title="权限列表"
|
||||
@on-ok="addRouters"
|
||||
@on-cancel="ruleModal = false"
|
||||
@on-visible-change="modalchange"
|
||||
>
|
||||
<div class="search-rule">
|
||||
<Alert>基础接口,可多选,并且添加后不会再展示出现;删除权限后才会出现;公共接口,可多选,并且添加后会继续展示;</Alert>
|
||||
<Alert
|
||||
>基础接口,可多选,并且添加后不会再展示出现;删除权限后才会出现;公共接口,可多选,并且添加后会继续展示;</Alert
|
||||
>
|
||||
<Input
|
||||
class="mr10"
|
||||
v-model="searchRule"
|
||||
placeholder="输入关键词搜索"
|
||||
clearable
|
||||
style="width: 300px"
|
||||
ref="search"
|
||||
@on-enter="searchRules"
|
||||
@on-clear="searchRules"
|
||||
class="mr10"
|
||||
v-model="searchRule"
|
||||
placeholder="输入关键词搜索"
|
||||
clearable
|
||||
style="width: 300px"
|
||||
ref="search"
|
||||
@on-enter="searchRules"
|
||||
@on-clear="searchRules"
|
||||
/>
|
||||
<Button class="mr10" type="primary" @click="searchRules">搜索</Button>
|
||||
<Button @click="init">重置</Button>
|
||||
</div>
|
||||
|
||||
<Tabs v-model="routeType" @on-click="changTab">
|
||||
<TabPane :label="item.name" :name="''+index" v-for="(item,index) in foundationList"></TabPane>
|
||||
<TabPane :label="item.name" :name="'' + index" v-for="(item, index) in foundationList"></TabPane>
|
||||
</Tabs>
|
||||
<div class="rule">
|
||||
<div
|
||||
class="rule-list"
|
||||
v-show="!arrs.length || arrs.includes(item.id)"
|
||||
:class="{ 'select-rule': seletRouteIds.includes(item.id) }"
|
||||
v-for="(item, index) in children"
|
||||
:key="index"
|
||||
@click="selectRule(item)"
|
||||
class="rule-list"
|
||||
v-show="!arrs.length || arrs.includes(item.id)"
|
||||
:class="{ 'select-rule': seletRouteIds.includes(item.id) }"
|
||||
v-for="(item, index) in children"
|
||||
:key="index"
|
||||
@click="selectRule(item)"
|
||||
>
|
||||
<div>接口名称:{{ item.real_name }}</div>
|
||||
<div>请求方式:{{ item.method }}</div>
|
||||
@ -139,7 +140,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from 'vuex';
|
||||
import { mapState } from 'vuex';
|
||||
import {
|
||||
getTable,
|
||||
menusDetailsApi,
|
||||
@ -151,14 +152,14 @@ import {
|
||||
} from '@/api/systemMenus';
|
||||
import formCreate from '@form-create/iview';
|
||||
import menusFrom from './components/menusFrom';
|
||||
import {formatFlatteningRoutes} from '@/libs/system';
|
||||
import { formatFlatteningRoutes } from '@/libs/system';
|
||||
|
||||
export default {
|
||||
name: 'systemMenus',
|
||||
data() {
|
||||
return {
|
||||
children: [],
|
||||
tabconfig: {children: 'children', reserve: true, accordion: true},
|
||||
tabconfig: { children: 'children', reserve: true, accordion: true },
|
||||
spinShow: false,
|
||||
ruleModal: false,
|
||||
searchRule: '',
|
||||
@ -189,7 +190,7 @@ export default {
|
||||
menusId: 0, // 选中分类id
|
||||
};
|
||||
},
|
||||
components: {menusFrom, formCreate: formCreate.$form()},
|
||||
components: { menusFrom, formCreate: formCreate.$form() },
|
||||
computed: {
|
||||
...mapState('admin/layout', ['isMobile']),
|
||||
labelWidth() {
|
||||
@ -214,13 +215,13 @@ export default {
|
||||
menus: this.seletRoute,
|
||||
};
|
||||
menusBatch(data)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.getData();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.getData();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
selectRule(data) {
|
||||
if (this.seletRouteIds.includes(data.id)) {
|
||||
@ -240,8 +241,8 @@ export default {
|
||||
},
|
||||
changTab(name) {
|
||||
this.routeType = name;
|
||||
let index = parseInt(name)
|
||||
this.children = this.foundationList[index] ? this.foundationList[index].children : []
|
||||
let index = parseInt(name);
|
||||
this.children = this.foundationList[index] ? this.foundationList[index].children : [];
|
||||
this.searchRules();
|
||||
},
|
||||
// 搜索规则
|
||||
@ -263,13 +264,12 @@ export default {
|
||||
this.routeType = '0';
|
||||
this.getRuleList();
|
||||
},
|
||||
modalchange() {
|
||||
},
|
||||
modalchange() {},
|
||||
// 获取权限列表
|
||||
getRuleList() {
|
||||
getRuleList().then((res) => {
|
||||
this.foundationList = res.data;
|
||||
this.children = this.foundationList[0] ? this.foundationList[0].children : []
|
||||
this.children = this.foundationList[0] ? this.foundationList[0].children : [];
|
||||
this.openList = [];
|
||||
this.seletRouteIds = [];
|
||||
this.seletRoute = [];
|
||||
@ -283,13 +283,13 @@ export default {
|
||||
is_show: row.is_show,
|
||||
};
|
||||
isShowApi(data)
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$store.dispatch('menus/getMenusNavList');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then(async (res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.$store.dispatch('menus/getMenusNavList');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 请求列表
|
||||
getList() {
|
||||
@ -307,20 +307,20 @@ export default {
|
||||
let pid = row.id.toString();
|
||||
if (pid) {
|
||||
menusDetailsApi(row.id)
|
||||
.then(async (res) => {
|
||||
this.formValidate.path = res.data.path;
|
||||
this.formValidate.path.push(row.id);
|
||||
this.formValidate.pid = pid;
|
||||
this.$refs.menusFrom.modals = true;
|
||||
this.$refs.menusFrom.valids = false;
|
||||
this.titleFrom = title;
|
||||
this.formValidate.auth_type = 1;
|
||||
this.formValidate.is_show = 0;
|
||||
this.formValidate.is_show_path = 0;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then(async (res) => {
|
||||
this.formValidate.path = res.data.path;
|
||||
this.formValidate.path.push(row.id);
|
||||
this.formValidate.pid = pid;
|
||||
this.$refs.menusFrom.modals = true;
|
||||
this.$refs.menusFrom.valids = false;
|
||||
this.titleFrom = title;
|
||||
this.formValidate.auth_type = 1;
|
||||
this.formValidate.is_show = 0;
|
||||
this.formValidate.is_show_path = 0;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
} else {
|
||||
this.formValidate.pid = pid;
|
||||
this.$refs.menusFrom.modals = true;
|
||||
@ -347,25 +347,26 @@ export default {
|
||||
};
|
||||
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getData();
|
||||
this.$store.dispatch('menus/getMenusNavList');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getData();
|
||||
this.getMenusUnique();
|
||||
// this.$store.dispatch('menus/getMenusNavList');
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 规则详情
|
||||
menusDetails(id) {
|
||||
menusDetailsApi(id)
|
||||
.then(async (res) => {
|
||||
this.formValidate = res.data;
|
||||
this.$refs.menusFrom.modals = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then(async (res) => {
|
||||
this.formValidate = res.data;
|
||||
this.$refs.menusFrom.modals = true;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 编辑
|
||||
edit(row, title, index) {
|
||||
@ -403,14 +404,14 @@ export default {
|
||||
this.loading = true;
|
||||
this.roleData.is_show = this.roleData.is_show || '';
|
||||
getTable(this.roleData)
|
||||
.then(async (res) => {
|
||||
this.tableData = res.data;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
.then(async (res) => {
|
||||
this.tableData = res.data;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
getMenusUnique() {
|
||||
getMenusUnique().then((res) => {
|
||||
@ -420,6 +421,9 @@ export default {
|
||||
this.$store.dispatch('routesList/setRoutesList', data.menus);
|
||||
let arr = formatFlatteningRoutes(this.$router.options.routes);
|
||||
this.formatTwoStageRoutes(arr);
|
||||
let routes = formatFlatteningRoutes(data.menus);
|
||||
this.$store.commit('menus/setOneLvRoute', routes);
|
||||
this.bus.$emit('routesListChange');
|
||||
});
|
||||
},
|
||||
formatTwoStageRoutes(arr) {
|
||||
@ -428,7 +432,7 @@ export default {
|
||||
const cacheList = [];
|
||||
arr.forEach((v) => {
|
||||
if (v && v.meta && v.meta.keepAlive) {
|
||||
newArr.push({...v});
|
||||
newArr.push({ ...v });
|
||||
cacheList.push(v.name);
|
||||
this.$store.dispatch('keepAliveNames/setCacheKeepAlive', cacheList);
|
||||
}
|
||||
@ -445,7 +449,7 @@ export default {
|
||||
|
||||
<style scoped lang="scss">
|
||||
.vxeTable {
|
||||
> > > .vxe-table--header-wrapper {
|
||||
> .vxe-table--header-wrapper {
|
||||
background: #fff !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
</vxe-select>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column field="must" title="必填" width="50" :edit-render="{}">
|
||||
<!-- <vxe-column field="must" title="必填" width="50" :edit-render="{}">
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.must == '1' ? '是' : '否' }}</span>
|
||||
</template>
|
||||
@ -69,7 +69,7 @@
|
||||
<template #default="{ row }">
|
||||
<vxe-input v-model="row.trip" type="text"></vxe-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-column> -->
|
||||
<vxe-column title="操作" width="120">
|
||||
<template #default="{ row }">
|
||||
<vxe-button
|
||||
@ -133,7 +133,7 @@
|
||||
</vxe-select>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column field="must" title="必填" width="50" :edit-render="{}">
|
||||
<!-- <vxe-column field="must" title="必填" width="50" :edit-render="{}">
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.must == '1' ? '是' : '否' }}</span>
|
||||
</template>
|
||||
@ -142,7 +142,7 @@
|
||||
<template #default="{ row }">
|
||||
<vxe-input v-model="row.trip" type="text"></vxe-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-column> -->
|
||||
<vxe-column title="操作" width="120">
|
||||
<template #default="{ row }">
|
||||
<vxe-button
|
||||
@ -187,26 +187,6 @@
|
||||
<vxe-input v-model="row.value" type="text"></vxe-input>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column field="type" title="类型" width="200" :edit-render="{}">
|
||||
<template #default="{ row }">
|
||||
<vxe-select
|
||||
v-model="row.type"
|
||||
transfer
|
||||
@change="
|
||||
(val) => {
|
||||
handleChange(val, row, 'zTable');
|
||||
}
|
||||
"
|
||||
>
|
||||
<vxe-option
|
||||
v-for="item in typeList"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></vxe-option>
|
||||
</vxe-select>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column title="操作" width="100">
|
||||
<template #default="{ row }">
|
||||
<vxe-button
|
||||
@ -221,7 +201,7 @@
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
<Button class="mt10" type="primary" @click="insertEvent('zTable')">添加参数</Button>
|
||||
<h4 class="mt10 title">全局Header参数</h4>
|
||||
<!-- <h4 class="mt10 title">全局Header参数</h4>
|
||||
<vxe-table
|
||||
class="mt10"
|
||||
resizable
|
||||
@ -254,7 +234,7 @@
|
||||
<span>{{ row.trip || '' }}</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
</vxe-table> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="res mt10 mb10" v-if="codes">
|
||||
@ -360,10 +340,12 @@ export default {
|
||||
requestMethod(url, method, params, body, headers)
|
||||
.then((res) => {
|
||||
console.log(res, 'res');
|
||||
if (!res) return this.$Message.error('接口异常');
|
||||
this.codes = JSON.stringify(res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err, 'err');
|
||||
if (!err) return this.$Message.error('接口异常');
|
||||
this.codes = JSON.stringify(err);
|
||||
});
|
||||
},
|
||||
|
||||
@ -414,7 +414,7 @@
|
||||
<debugging
|
||||
v-if="debuggingModal"
|
||||
:formValidate="formValidate"
|
||||
:typeList="typeList"
|
||||
:typeList="intTypeList"
|
||||
:requestTypeList="requestTypeList"
|
||||
/>
|
||||
</Modal>
|
||||
@ -461,7 +461,36 @@ export default {
|
||||
title: [{ message: '请输入正确的描述 (不能多于200位数)', trigger: 'blur', max: 200 }],
|
||||
},
|
||||
loading: false,
|
||||
|
||||
intTypeList: [
|
||||
{
|
||||
value: 'string',
|
||||
label: 'String',
|
||||
},
|
||||
// {
|
||||
// value: 'array',
|
||||
// label: 'Array',
|
||||
// },
|
||||
// {
|
||||
// value: 'object',
|
||||
// label: 'Object',
|
||||
// },
|
||||
{
|
||||
value: 'number',
|
||||
label: 'Number',
|
||||
},
|
||||
{
|
||||
value: 'boolean',
|
||||
label: 'Boolean',
|
||||
},
|
||||
{
|
||||
value: 'null',
|
||||
label: 'Null',
|
||||
},
|
||||
{
|
||||
value: 'any',
|
||||
label: 'Any',
|
||||
},
|
||||
],
|
||||
typeList: [
|
||||
{
|
||||
value: 'string',
|
||||
@ -508,7 +537,7 @@ export default {
|
||||
{
|
||||
value: 'PUT',
|
||||
label: 'PUT',
|
||||
}
|
||||
},
|
||||
],
|
||||
contextData: null, //左侧导航右键点击是产生的数据对象
|
||||
treeData: undefined,
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import axios from 'axios';
|
||||
import Setting from '@/setting';
|
||||
import { getCookies, removeCookies } from '@/libs/util';
|
||||
import { Message } from 'iview';
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: 'https://v5.wuht.net',
|
||||
@ -68,57 +69,9 @@ service.interceptors.response.use(
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
Message.error('接口异常');
|
||||
|
||||
// return Promise.reject(error);
|
||||
},
|
||||
);
|
||||
export default service;
|
||||
|
||||
// function sendRequest(url, method, params, header) {
|
||||
// const instance = axios.create({
|
||||
// baseURL: Setting.apiBaseURL, // 请求的根域名
|
||||
// timeout: 1000, // 请求超时时间
|
||||
// headers: {
|
||||
// 'X-Custom-Header': header, // 自定义头信息
|
||||
// },
|
||||
// });
|
||||
|
||||
// if (method === 'GET') {
|
||||
// instance
|
||||
// .get(url, { params: params })
|
||||
// .then((response) => {
|
||||
// // 处理响应数据
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// // 处理错误
|
||||
// });
|
||||
// } else if (method === 'POST') {
|
||||
// instance
|
||||
// .post(url, params, { headers: header })
|
||||
// .then((response) => {
|
||||
// // 处理响应数据
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// // 处理错误
|
||||
// });
|
||||
// } else if (method === 'PUT') {
|
||||
// instance
|
||||
// .put(url, params, { headers: header })
|
||||
// .then((response) => {
|
||||
// // 处理响应数据
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// // 处理错误
|
||||
// });
|
||||
// } else if (method === 'DELETE') {
|
||||
// instance
|
||||
// .delete(url, { headers: header })
|
||||
// .then((response) => {
|
||||
// // 处理响应数据
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// // 处理错误
|
||||
// });
|
||||
// }
|
||||
|
||||
// return instance;
|
||||
// }
|
||||
|
||||
@ -138,6 +138,9 @@ export default {
|
||||
this.$store.dispatch('routesList/setRoutesList', data.menus);
|
||||
let arr = formatFlatteningRoutes(this.$router.options.routes);
|
||||
this.formatTwoStageRoutes(arr);
|
||||
let routes = formatFlatteningRoutes(data.menus);
|
||||
this.$store.commit('menus/setOneLvRoute', routes);
|
||||
this.bus.$emit('routesListChange');
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -27,6 +27,7 @@ export default {
|
||||
openMenus: [],
|
||||
childMenuList: [],
|
||||
oneLvMenus: [],
|
||||
oneLvRoutes: [],
|
||||
},
|
||||
mutations: {
|
||||
getmenusNav(state, menuList) {
|
||||
@ -41,6 +42,9 @@ export default {
|
||||
setOneLvMenus(state, oneLvMenus) {
|
||||
state.oneLvMenus = oneLvMenus;
|
||||
},
|
||||
setOneLvRoute(state, oneLvMenus) {
|
||||
state.oneLvRoutes = oneLvMenus;
|
||||
},
|
||||
childMenuList(state, list) {
|
||||
state.childMenuList = list;
|
||||
},
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
const routesListModule = {
|
||||
namespaced: true,
|
||||
state: {
|
||||
routesList: [],
|
||||
},
|
||||
mutations: {
|
||||
// 设置路由,菜单中使用到
|
||||
getRoutesList(state, data) {
|
||||
state.routesList = data;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
// 设置路由,菜单中使用到
|
||||
async setRoutesList({ commit }, data) {
|
||||
commit('getRoutesList', data);
|
||||
},
|
||||
},
|
||||
namespaced: true,
|
||||
state: {
|
||||
routesList: [],
|
||||
},
|
||||
mutations: {
|
||||
// 设置路由,菜单中使用到
|
||||
getRoutesList(state, data) {
|
||||
state.routesList = data;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
// 设置路由,菜单中使用到
|
||||
async setRoutesList({ commit }, data) {
|
||||
commit('getRoutesList', data);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default routesListModule;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user