mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2025-12-16 08:38:48 +00:00
优化细节
This commit is contained in:
parent
a6a5e210da
commit
5cfb7ee34d
@ -2,7 +2,13 @@
|
|||||||
<div class="cl-menu-file">
|
<div class="cl-menu-file">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :span="16">
|
<el-col :span="16">
|
||||||
<el-select v-model="newValue" filterable clearable placeholder="请选择">
|
<el-select
|
||||||
|
v-model="newValue"
|
||||||
|
allow-create
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) in list"
|
v-for="(item, index) in list"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<h1 class="code">{{ code }}</h1>
|
<h1 class="code">{{ code }}</h1>
|
||||||
<p class="desc">{{ desc }}</p>
|
<p class="desc">{{ desc }}</p>
|
||||||
|
|
||||||
<template v-if="token">
|
<template v-if="token || isLogout">
|
||||||
<div class="router">
|
<div class="router">
|
||||||
<el-select size="medium" filterable prefix-icon="el-icon-search" v-model="url">
|
<el-select size="medium" filterable prefix-icon="el-icon-search" v-model="url">
|
||||||
<el-option v-for="(item, index) in routes" :key="index" :value="item.path">
|
<el-option v-for="(item, index) in routes" :key="index" :value="item.path">
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<div class="link">
|
<div class="link">
|
||||||
<el-link class="to-home" @click="home">回到首页</el-link>
|
<el-link class="to-home" @click="home">回到首页</el-link>
|
||||||
<el-link class="to-back" @click="back">返回上一页</el-link>
|
<el-link class="to-back" @click="back">返回上一页</el-link>
|
||||||
<el-link class="to-login" @click="login">重新登录</el-link>
|
<el-link class="to-login" @click="reLogin">重新登录</el-link>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from "vuex";
|
import { mapGetters } from "vuex";
|
||||||
|
import { href } from "cl-admin/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
@ -43,7 +44,8 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
url: ""
|
url: "",
|
||||||
|
isLogout: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -60,20 +62,20 @@ export default {
|
|||||||
this.$router.push("/login");
|
this.$router.push("/login");
|
||||||
},
|
},
|
||||||
|
|
||||||
|
reLogin() {
|
||||||
|
this.isLogout = true;
|
||||||
|
|
||||||
|
this.$store.dispatch("userLogout").done(() => {
|
||||||
|
href("/login");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
back() {
|
back() {
|
||||||
history.back();
|
history.back();
|
||||||
},
|
},
|
||||||
|
|
||||||
home() {
|
home() {
|
||||||
this.$router.push("/");
|
this.$router.push("/");
|
||||||
},
|
|
||||||
|
|
||||||
login() {
|
|
||||||
this.$store.dispatch("userLogout");
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$router.push("/login");
|
|
||||||
}, 30);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -164,7 +164,7 @@ export default {
|
|||||||
border: 0;
|
border: 0;
|
||||||
border-bottom: 0.5px solid #999;
|
border-bottom: 0.5px solid #999;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
padding: 0;
|
padding: 0 5px;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
transition: border-color 0.3s;
|
transition: border-color 0.3s;
|
||||||
|
|||||||
@ -45,8 +45,7 @@ export default {
|
|||||||
.filter((e) => e.type != 2)
|
.filter((e) => e.type != 2)
|
||||||
.map((e) => {
|
.map((e) => {
|
||||||
let r = {
|
let r = {
|
||||||
moduleName:
|
moduleName: e.moduleName,
|
||||||
e.moduleName || (e.router || "").substr(1).replace(/\//g, "-"),
|
|
||||||
id: e.id,
|
id: e.id,
|
||||||
parentId: e.parentId,
|
parentId: e.parentId,
|
||||||
path: revisePath(e.router || e.id),
|
path: revisePath(e.router || e.id),
|
||||||
|
|||||||
@ -11,7 +11,7 @@ export default {
|
|||||||
// 模块列表
|
// 模块列表
|
||||||
moduleList: (state) => state.list,
|
moduleList: (state) => state.list,
|
||||||
// 模块视图
|
// 模块视图
|
||||||
moduleViews: (state) => state.moduleViews
|
moduleViews: (state) => state.views
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
@ -27,7 +27,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
SET_MODULE_VIEWS(state, list) {
|
SET_MODULE_VIEWS(state, list) {
|
||||||
state.moduleViews = list;
|
state.views = list;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
<el-row type="flex" align="middle">
|
<el-row type="flex" align="middle">
|
||||||
<!-- 刷新按钮 -->
|
<!-- 刷新按钮 -->
|
||||||
<cl-refresh-btn />
|
<cl-refresh-btn />
|
||||||
|
<!-- 提示 -->
|
||||||
|
<p class="tips">修改完配置如无生效则需要重启 <i class="el-icon-warning"></i></p>
|
||||||
<cl-flex1 />
|
<cl-flex1 />
|
||||||
<!-- 关键字搜索 -->
|
<!-- 关键字搜索 -->
|
||||||
<cl-search-key />
|
<cl-search-key />
|
||||||
@ -27,7 +29,7 @@
|
|||||||
<el-row type="flex">
|
<el-row type="flex">
|
||||||
<cl-flex1 />
|
<cl-flex1 />
|
||||||
<!-- 分页控件 -->
|
<!-- 分页控件 -->
|
||||||
<cl-pagination layout="total" />
|
<cl-pagination :props="{ layout: 'total' }" />
|
||||||
</el-row>
|
</el-row>
|
||||||
</cl-crud>
|
</cl-crud>
|
||||||
</template>
|
</template>
|
||||||
@ -73,43 +75,35 @@ export default {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
label: "名称",
|
label: "名称",
|
||||||
prop: "name",
|
prop: "name"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "作者",
|
label: "作者",
|
||||||
prop: "author",
|
prop: "author"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "联系方式",
|
label: "联系方式",
|
||||||
prop: "contact",
|
prop: "contact"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "功能描述",
|
label: "功能描述",
|
||||||
prop: "description",
|
prop: "description"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "版本号",
|
label: "版本号",
|
||||||
prop: "version",
|
prop: "version"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "是否启用",
|
label: "是否启用",
|
||||||
prop: "enable",
|
prop: "enable"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "命名空间",
|
label: "命名空间",
|
||||||
prop: "namespace",
|
prop: "namespace"
|
||||||
align: "center"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "状态",
|
label: "状态",
|
||||||
prop: "status",
|
prop: "status",
|
||||||
align: "center",
|
|
||||||
dict: [
|
dict: [
|
||||||
{
|
{
|
||||||
label: "缺少配置",
|
label: "缺少配置",
|
||||||
@ -136,13 +130,11 @@ export default {
|
|||||||
{
|
{
|
||||||
label: "创建时间",
|
label: "创建时间",
|
||||||
prop: "createTime",
|
prop: "createTime",
|
||||||
align: "center",
|
|
||||||
width: 150,
|
width: 150,
|
||||||
sortable: "custom"
|
sortable: "custom"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "op",
|
type: "op",
|
||||||
align: "center",
|
|
||||||
buttons: [
|
buttons: [
|
||||||
({ scope }) => {
|
({ scope }) => {
|
||||||
return (
|
return (
|
||||||
@ -236,3 +228,11 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.tips {
|
||||||
|
font-size: 13px;
|
||||||
|
margin-left: 10px;
|
||||||
|
color: $color-warning;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"cl-admin": "^1.2.0",
|
"cl-admin": "^1.2.0",
|
||||||
"cl-admin-crud": "^1.3.3",
|
"cl-admin-crud": "^1.3.4",
|
||||||
"cl-admin-export": "^1.0.5",
|
"cl-admin-export": "^1.0.5",
|
||||||
"core-js": "^3.9.0",
|
"core-js": "^3.9.0",
|
||||||
"dayjs": "^1.10.3",
|
"dayjs": "^1.10.3",
|
||||||
|
|||||||
@ -12,18 +12,18 @@ NProgress.configure({
|
|||||||
showSpinner: false
|
showSpinner: false
|
||||||
});
|
});
|
||||||
|
|
||||||
// 请求队列
|
|
||||||
let requests = [];
|
|
||||||
|
|
||||||
// Token 是否刷新中
|
|
||||||
let isRefreshing = false;
|
|
||||||
|
|
||||||
// 忽略规则
|
// 忽略规则
|
||||||
const ignore = {
|
const ignore = {
|
||||||
NProgress: ["/sys/info/record"],
|
NProgress: ["/sys/info/record"],
|
||||||
token: ["/login", "/captcha"]
|
token: ["/login", "/captcha"]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 请求队列
|
||||||
|
let requests = [];
|
||||||
|
|
||||||
|
// Token 是否刷新中
|
||||||
|
let isRefreshing = false;
|
||||||
|
|
||||||
// Request
|
// Request
|
||||||
axios.interceptors.request.use(
|
axios.interceptors.request.use(
|
||||||
(config) => {
|
(config) => {
|
||||||
@ -134,7 +134,11 @@ axios.interceptors.response.use(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 502:
|
case 502:
|
||||||
href("/502");
|
if (isDev) {
|
||||||
|
return Promise.reject("服务异常!!");
|
||||||
|
} else {
|
||||||
|
href("/502");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -44,7 +44,7 @@ module.exports = {
|
|||||||
target: "https://admin.cn.utools.club",
|
target: "https://admin.cn.utools.club",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
"^/dev": ""
|
"^/test": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user