mirror of
https://gitee.com/chu1204505056/vue-admin-beautiful.git
synced 2025-04-05 05:42:45 +08:00
⬆ chore: version
This commit is contained in:
parent
48e91e76af
commit
0f76f6d49b
15
README.en.md
15
README.en.md
@ -42,7 +42,8 @@
|
|||||||
|
|
||||||
- [🌐 Gitee Warehouse address](https://gitee.com/chu1204505056/vue-admin-better?_from=gitee_search)
|
- [🌐 Gitee Warehouse address](https://gitee.com/chu1204505056/vue-admin-better?_from=gitee_search)
|
||||||
|
|
||||||
- Recently, the VAB official website has been frequently attacked by DDoS. We have taken relevant preventive measures. If the website cannot be accessed, please visit the backup address
|
- Recently, the VAB official website has been frequently attacked by DDoS. We have taken relevant preventive measures.
|
||||||
|
If the website cannot be accessed, please visit the backup address
|
||||||
|
|
||||||
## 🌐 Backup address (support automatic update of HTTPS website)
|
## 🌐 Backup address (support automatic update of HTTPS website)
|
||||||
|
|
||||||
@ -73,7 +74,11 @@ npm run serve
|
|||||||
|
|
||||||
## 🍻 Front end discussion QQ group
|
## 🍻 Front end discussion QQ group
|
||||||
|
|
||||||
- Let's have a cup of coffee, and then contact QQ 783963206 to invite you to the discussion group. Because of the large number of users, if you haven't passed a friend's request, please contact Alipay on the Alipay payment page, whether you invite or not, you can enjoy the open source code, thank you for your support and trust, and provide the vue-admin-beautifu basic version in the group. Automatic configuration tutorial of development tools and project development documents.
|
- Let's have a cup of coffee, and then contact QQ 783963206 to invite you to the discussion group. Because of the large
|
||||||
|
number of users, if you haven't passed a friend's request, please contact Alipay on the Alipay payment page, whether
|
||||||
|
you invite or not, you can enjoy the open source code, thank you for your support and trust, and provide the
|
||||||
|
vue-admin-beautifu basic version in the group. Automatic configuration tutorial of development tools and project
|
||||||
|
development documents.
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@ -107,7 +112,7 @@ npm run serve
|
|||||||
## 🎨 Acknowledge
|
## 🎨 Acknowledge
|
||||||
|
|
||||||
| Project |
|
| Project |
|
||||||
| ---------------------------------------------------------------- |
|
|------------------------------------------------------------------|
|
||||||
| [vue](https://github.com/vuejs/vue) |
|
| [vue](https://github.com/vuejs/vue) |
|
||||||
| [element-ui](https://github.com/ElemeFE/element) |
|
| [element-ui](https://github.com/ElemeFE/element) |
|
||||||
| [element-plus](https://github.com/element-plus/element-plus) |
|
| [element-plus](https://github.com/element-plus/element-plus) |
|
||||||
@ -196,7 +201,9 @@ The following is a screenshot of the pro version:
|
|||||||
|
|
||||||
## 📄 Commercial considerations
|
## 📄 Commercial considerations
|
||||||
|
|
||||||
This project can be used for commercial purposes free of charge. Please abide by the MIT agreement and keep the author's technical support statement. For customized source code copyright information, please contact customer service QQ 783963206.
|
This project can be used for commercial purposes free of charge. Please abide by the MIT agreement and keep the author's
|
||||||
|
technical support statement. For customized source code copyright information, please contact customer service QQ
|
||||||
|
783963206.
|
||||||
|
|
||||||
<!-- ## 严正声明
|
<!-- ## 严正声明
|
||||||
|
|
||||||
|
@ -50,7 +50,9 @@
|
|||||||
|
|
||||||
## 🍻 前端讨论 QQ 群
|
## 🍻 前端讨论 QQ 群
|
||||||
|
|
||||||
- 请我们喝杯咖啡,打赏后联系 QQ 783963206 邀请您进入讨论群(由于用户数较多,如果您打赏后未通过好友请求,请联系商家),不管您请还是不请,您都可以享受到开源的代码,感谢您的支持和信任,群内提供 vue-admin-better 基础版本、开发工具自动配置教程及项目开发文档。
|
- 请我们喝杯咖啡,打赏后联系 QQ 783963206 邀请您进入讨论群(由于用户数较多,如果您打赏后未通过好友请求,请联系商家),不管您请还是不请,您都可以享受到开源的代码,感谢您的支持和信任,群内提供
|
||||||
|
vue-admin-better 基础版本、开发工具自动配置教程及项目开发文档。
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -128,7 +130,7 @@ npm run serve
|
|||||||
## 🎨 鸣谢
|
## 🎨 鸣谢
|
||||||
|
|
||||||
| Project |
|
| Project |
|
||||||
| ---------------------------------------------------------------- |
|
|------------------------------------------------------------------|
|
||||||
| [vue](https://github.com/vuejs/vue) |
|
| [vue](https://github.com/vuejs/vue) |
|
||||||
| [element-ui](https://github.com/ElemeFE/element) |
|
| [element-ui](https://github.com/ElemeFE/element) |
|
||||||
| [element-plus](https://github.com/element-plus/element-plus) |
|
| [element-plus](https://github.com/element-plus/element-plus) |
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
<el-dialog
|
<el-dialog
|
||||||
:visible.sync="dialogTableVisible"
|
:visible.sync="dialogTableVisible"
|
||||||
append-to-body
|
append-to-body
|
||||||
|
title="vue-admin-better异常捕获(温馨提示:错误必须解决)"
|
||||||
width="70%"
|
width="70%"
|
||||||
title="vue-admin-beautiful异常捕获(温馨提示:错误必须解决)"
|
|
||||||
>
|
>
|
||||||
<el-table :data="errorLogs">
|
<el-table :data="errorLogs">
|
||||||
<el-table-column label="报错路由">
|
<el-table-column label="报错路由">
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</el-popover>
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="380" label="操作">
|
<el-table-column label="操作" width="380">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<a
|
<a
|
||||||
v-for="(item, index) in searchList"
|
v-for="(item, index) in searchList"
|
||||||
@ -56,7 +56,7 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogTableVisible = false">取 消</el-button>
|
<el-button @click="dialogTableVisible = false">取 消</el-button>
|
||||||
<el-button type="danger" icon="el-icon-delete" @click="clearAll">
|
<el-button icon="el-icon-delete" type="danger" @click="clearAll">
|
||||||
暂不显示
|
暂不显示
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<a
|
<a
|
||||||
|
aria-label="View source on Github"
|
||||||
|
class="github-corner"
|
||||||
href="https://github.com/chuzhixin/vue-admin-beautiful"
|
href="https://github.com/chuzhixin/vue-admin-beautiful"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
class="github-corner"
|
|
||||||
aria-label="View source on Github"
|
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
width="80"
|
aria-hidden="true"
|
||||||
|
class="github-color"
|
||||||
height="80"
|
height="80"
|
||||||
viewBox="0 0 250 250"
|
viewBox="0 0 250 250"
|
||||||
class="github-color"
|
width="80"
|
||||||
aria-hidden="true"
|
|
||||||
>
|
>
|
||||||
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" />
|
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z" />
|
||||||
<path
|
<path
|
||||||
|
class="octo-arm"
|
||||||
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
|
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
style="transform-origin: 130px 106px"
|
style="transform-origin: 130px 106px"
|
||||||
class="octo-arm"
|
|
||||||
/>
|
/>
|
||||||
<path
|
<path
|
||||||
|
class="octo-body"
|
||||||
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
|
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
class="octo-body"
|
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
|
@ -8,13 +8,13 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: "VabQueryFormBottomPanel",
|
name: 'VabQueryFormBottomPanel',
|
||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
return {};
|
return {}
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {},
|
methods: {},
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="span" :xl="span">
|
<el-col :lg="span" :md="24" :sm="24" :xl="span" :xs="24">
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="span" :xl="span">
|
<el-col :lg="span" :md="24" :sm="24" :xl="span" :xs="24">
|
||||||
<div class="right-panel">
|
<div class="right-panel">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
<span>{{ routeChildren.meta.title }}</span>
|
<span>{{ routeChildren.meta.title }}</span>
|
||||||
<el-tag
|
<el-tag
|
||||||
v-if="routeChildren.meta && routeChildren.meta.badge"
|
v-if="routeChildren.meta && routeChildren.meta.badge"
|
||||||
type="danger"
|
|
||||||
effect="dark"
|
effect="dark"
|
||||||
|
type="danger"
|
||||||
>
|
>
|
||||||
{{ routeChildren.meta.badge }}
|
{{ routeChildren.meta.badge }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<component
|
<component
|
||||||
:is="menuComponent"
|
:is="menuComponent"
|
||||||
v-if="!item.hidden"
|
v-if="!item.hidden"
|
||||||
:item="item"
|
|
||||||
:full-path="fullPath"
|
:full-path="fullPath"
|
||||||
|
:item="item"
|
||||||
:route-children="routeChildren"
|
:route-children="routeChildren"
|
||||||
>
|
>
|
||||||
<template v-if="item.children && item.children.length">
|
<template v-if="item.children && item.children.length">
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-scrollbar class="side-bar-container" :class="{ 'is-collapse': collapse }">
|
<el-scrollbar :class="{ 'is-collapse': collapse }" class="side-bar-container">
|
||||||
<vab-logo />
|
<vab-logo />
|
||||||
<el-menu
|
<el-menu
|
||||||
:background-color="variables['menu-background']"
|
|
||||||
:text-color="variables['menu-color']"
|
|
||||||
:active-text-color="variables['menu-color-active']"
|
:active-text-color="variables['menu-color-active']"
|
||||||
:default-active="activeMenu"
|
:background-color="variables['menu-background']"
|
||||||
:collapse="collapse"
|
:collapse="collapse"
|
||||||
:collapse-transition="false"
|
:collapse-transition="false"
|
||||||
|
:default-active="activeMenu"
|
||||||
:default-openeds="defaultOpens"
|
:default-openeds="defaultOpens"
|
||||||
|
:text-color="variables['menu-color']"
|
||||||
:unique-opened="uniqueOpened"
|
:unique-opened="uniqueOpened"
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
>
|
>
|
||||||
@ -100,6 +100,7 @@
|
|||||||
right: 10px;
|
right: 10px;
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-menu-item,
|
.el-menu-item,
|
||||||
.el-submenu {
|
.el-submenu {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
<div id="tabs-bar-container" class="tabs-bar-container">
|
<div id="tabs-bar-container" class="tabs-bar-container">
|
||||||
<el-tabs
|
<el-tabs
|
||||||
v-model="tabActive"
|
v-model="tabActive"
|
||||||
type="card"
|
|
||||||
class="tabs-content"
|
class="tabs-content"
|
||||||
|
type="card"
|
||||||
@tab-click="handleTabClick"
|
@tab-click="handleTabClick"
|
||||||
@tab-remove="handleTabRemove"
|
@tab-remove="handleTabRemove"
|
||||||
>
|
>
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
v-for="item in visitedRoutes"
|
v-for="item in visitedRoutes"
|
||||||
:key="item.path"
|
:key="item.path"
|
||||||
|
:closable="!isAffix(item)"
|
||||||
:label="item.meta.title"
|
:label="item.meta.title"
|
||||||
:name="item.path"
|
:name="item.path"
|
||||||
:closable="!isAffix(item)"
|
|
||||||
></el-tab-pane>
|
></el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
<div class="top-bar-container">
|
<div class="top-bar-container">
|
||||||
<div class="vab-main">
|
<div class="vab-main">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :xl="7" :lg="7" :md="7" :sm="7" :xs="7">
|
<el-col :lg="7" :md="7" :sm="7" :xl="7" :xs="7">
|
||||||
<vab-logo />
|
<vab-logo />
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12">
|
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="12">
|
||||||
<el-menu
|
<el-menu
|
||||||
:background-color="variables['menu-background']"
|
|
||||||
:text-color="variables['menu-color']"
|
|
||||||
:active-text-color="variables['menu-color-active']"
|
:active-text-color="variables['menu-color-active']"
|
||||||
|
:background-color="variables['menu-background']"
|
||||||
:default-active="activeMenu"
|
:default-active="activeMenu"
|
||||||
mode="horizontal"
|
:text-color="variables['menu-color']"
|
||||||
menu-trigger="hover"
|
menu-trigger="hover"
|
||||||
|
mode="horizontal"
|
||||||
>
|
>
|
||||||
<template v-for="route in routes">
|
<template v-for="route in routes">
|
||||||
<vab-side-bar-item
|
<vab-side-bar-item
|
||||||
@ -24,15 +24,15 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xl="5" :lg="5" :md="5" :sm="5" :xs="5">
|
<el-col :lg="5" :md="5" :sm="5" :xl="5" :xs="5">
|
||||||
<div class="right-panel">
|
<div class="right-panel">
|
||||||
<vab-error-log />
|
<vab-error-log />
|
||||||
<vab-full-screen-bar @refresh="refreshRoute" />
|
<vab-full-screen-bar @refresh="refreshRoute" />
|
||||||
<vab-theme-bar class="hidden-md-and-down" />
|
<vab-theme-bar class="hidden-md-and-down" />
|
||||||
<vab-icon
|
<vab-icon
|
||||||
title="重载路由"
|
|
||||||
:pulse="pulse"
|
|
||||||
:icon="['fas', 'redo']"
|
:icon="['fas', 'redo']"
|
||||||
|
:pulse="pulse"
|
||||||
|
title="重载路由"
|
||||||
@click="refreshRoute"
|
@click="refreshRoute"
|
||||||
/>
|
/>
|
||||||
<vab-avatar />
|
<vab-avatar />
|
||||||
|
@ -37,6 +37,7 @@ function handleMockArray() {
|
|||||||
getFiles('mock/controller')
|
getFiles('mock/controller')
|
||||||
return mockArray
|
return mockArray
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
handleRandomImage,
|
handleRandomImage,
|
||||||
handleMockArray,
|
handleMockArray,
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.4.0",
|
||||||
"caniuse-lite": "^1.0.30001504",
|
"caniuse-lite": "^1.0.30001505",
|
||||||
"clipboard": "^2.0.11",
|
"clipboard": "^2.0.11",
|
||||||
"core-js": "^3.31.0",
|
"core-js": "^3.31.0",
|
||||||
"dayjs": "^1.11.8",
|
"dayjs": "^1.11.8",
|
||||||
|
@ -2,20 +2,20 @@
|
|||||||
<html lang="zh-cmn-Hans">
|
<html lang="zh-cmn-Hans">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
|
<link href="<%= BASE_URL %>favicon.ico" rel="icon" />
|
||||||
<title>vue-admin-better官网、首页、文档和下载 - 前端开发框架</title>
|
<title>vue-admin-better官网、首页、文档和下载 - 前端开发框架</title>
|
||||||
<meta
|
<meta
|
||||||
name="keywords"
|
|
||||||
content="vab,vab官网,后台管理框架,vue后台管理框架,vue-admin-beautiful-pro源码分享,vue-admin-beautiful-pro源码,vue-admin-beautiful官网,vue-admin-beautiful文档,vue-element-admin,vue-element-admin官网,vue-element-admin文档,vue-admin,vue-admin官网,vue-admin文档"
|
content="vab,vab官网,后台管理框架,vue后台管理框架,vue-admin-beautiful-pro源码分享,vue-admin-beautiful-pro源码,vue-admin-beautiful官网,vue-admin-beautiful文档,vue-element-admin,vue-element-admin官网,vue-element-admin文档,vue-admin,vue-admin官网,vue-admin文档"
|
||||||
|
name="keywords"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
|
||||||
content="<%= VUE_APP_TITLE %>官网与文档基于vue-admin-beautiful构建,简称vab(是一款超棒的vue+element中后台前端快速开发框架),QQ群972435319,作者:<%= VUE_APP_AUTHOR %>"
|
content="<%= VUE_APP_TITLE %>官网与文档基于vue-admin-beautiful构建,简称vab(是一款超棒的vue+element中后台前端快速开发框架),QQ群972435319,作者:<%= VUE_APP_AUTHOR %>"
|
||||||
|
name="description"
|
||||||
/>
|
/>
|
||||||
<meta name="author" content="<%= VUE_APP_AUTHOR %>" />
|
<meta content="<%= VUE_APP_AUTHOR %>" name="author" />
|
||||||
<link rel="stylesheet" href="<%= BASE_URL %>static/css/loading.css" />
|
<link href="<%= BASE_URL %>static/css/loading.css" rel="stylesheet" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>
|
<noscript>
|
||||||
|
@ -191,11 +191,4 @@
|
|||||||
color: #606266;
|
color: #606266;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style lang="scss">
|
<style lang="scss"></style>
|
||||||
/* .vab-tree-select{
|
|
||||||
.el-tag__close.el-icon-close{
|
|
||||||
width:0;
|
|
||||||
overflow:hidden;
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
</style>
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="g-container" :style="styleObj">
|
<div :style="styleObj" class="g-container">
|
||||||
<div class="g-number">
|
<div class="g-number">
|
||||||
{{ endVal }}
|
{{ endVal }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="card" :style="styleObj">
|
<div :style="styleObj" class="card">
|
||||||
<div class="card-borders">
|
<div class="card-borders">
|
||||||
<div class="border-top"></div>
|
<div class="border-top"></div>
|
||||||
<div class="border-right"></div>
|
<div class="border-right"></div>
|
||||||
@ -13,8 +13,8 @@
|
|||||||
<a
|
<a
|
||||||
v-for="(item, index) in iconArray"
|
v-for="(item, index) in iconArray"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="social-icon"
|
|
||||||
:href="item.url"
|
:href="item.url"
|
||||||
|
class="social-icon"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
<vab-icon :icon="['fas', item.icon]" />
|
<vab-icon :icon="['fas', item.icon]" />
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="content" :style="styleObj">
|
<div :style="styleObj" class="content">
|
||||||
<div v-for="(item, index) in 200" :key="index" class="snow"></div>
|
<div v-for="(item, index) in 200" :key="index" class="snow"></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -75,8 +75,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { baseURL, tokenName } from '@/config'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'VabUpload',
|
name: 'VabUpload',
|
||||||
props: {
|
props: {
|
||||||
@ -207,12 +205,12 @@
|
|||||||
this.imgSuccessNum = 0
|
this.imgSuccessNum = 0
|
||||||
this.imgErrorNum = 0
|
this.imgErrorNum = 0
|
||||||
/* if ("development" === process.env.NODE_ENV) {
|
/* if ("development" === process.env.NODE_ENV) {
|
||||||
this.api = process.env.VUE_APP_BASE_API;
|
this.api = process.env.VUE_APP_BASE_API;
|
||||||
} else {
|
} else {
|
||||||
this.api = `${window.location.protocol}//${window.location.host}`;
|
this.api = `${window.location.protocol}//${window.location.host}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.action = this.api + this.url; */
|
this.action = this.api + this.url; */
|
||||||
this.dialogFormVisible = false
|
this.dialogFormVisible = false
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -2,21 +2,22 @@
|
|||||||
<div class="vab-ad">
|
<div class="vab-ad">
|
||||||
<el-carousel
|
<el-carousel
|
||||||
v-if="adList"
|
v-if="adList"
|
||||||
height="30px"
|
|
||||||
direction="vertical"
|
|
||||||
:autoplay="true"
|
:autoplay="true"
|
||||||
:interval="3000"
|
:interval="3000"
|
||||||
|
direction="vertical"
|
||||||
|
height="30px"
|
||||||
indicator-position="none"
|
indicator-position="none"
|
||||||
>
|
>
|
||||||
<el-carousel-item v-for="(item, index) in adList" :key="index">
|
<el-carousel-item v-for="(item, index) in adList" :key="index">
|
||||||
<el-tag type="warning">Ad</el-tag>
|
<el-tag type="warning">Ad</el-tag>
|
||||||
<a target="_blank" :href="item.url">{{ item.title }}</a>
|
<a :href="item.url" target="_blank">{{ item.title }}</a>
|
||||||
</el-carousel-item>
|
</el-carousel-item>
|
||||||
</el-carousel>
|
</el-carousel>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getList } from '@/api/ad'
|
import { getList } from '@/api/ad'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'VabAd',
|
name: 'VabAd',
|
||||||
data() {
|
data() {
|
||||||
|
@ -80,9 +80,11 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.vab-keel {
|
.vab-keel {
|
||||||
margin: $base-padding;
|
margin: $base-padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-main-height {
|
.app-main-height {
|
||||||
min-height: $base-app-main-height;
|
min-height: $base-app-main-height;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<el-dropdown @command="handleCommand">
|
<el-dropdown @command="handleCommand">
|
||||||
<span class="avatar-dropdown">
|
<span class="avatar-dropdown">
|
||||||
<!--<el-avatar class="user-avatar" :src="avatar"></el-avatar>-->
|
<!--<el-avatar class="user-avatar" :src="avatar"></el-avatar>-->
|
||||||
<img class="user-avatar" :src="avatar" alt="" />
|
<img :src="avatar" alt="" class="user-avatar" />
|
||||||
<div class="user-name">
|
<div class="user-name">
|
||||||
{{ username }}
|
{{ username }}
|
||||||
<i class="el-icon-arrow-down el-icon--right"></i>
|
<i class="el-icon-arrow-down el-icon--right"></i>
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
<div :class="'logo-container-' + layout">
|
<div :class="'logo-container-' + layout">
|
||||||
<router-link to="/">
|
<router-link to="/">
|
||||||
<!-- 这里是logo变更的位置 -->
|
<!-- 这里是logo变更的位置 -->
|
||||||
<vab-remix-icon v-if="logo" class="logo" :icon-class="logo" />
|
<vab-remix-icon v-if="logo" :icon-class="logo" class="logo" />
|
||||||
<span
|
<span
|
||||||
class="title"
|
|
||||||
:class="{ 'hidden-xs-only': layout === 'horizontal' }"
|
:class="{ 'hidden-xs-only': layout === 'horizontal' }"
|
||||||
:title="title"
|
:title="title"
|
||||||
|
class="title"
|
||||||
>
|
>
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</span>
|
</span>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="nav-bar-container">
|
<div class="nav-bar-container">
|
||||||
<el-row :gutter="15">
|
<el-row :gutter="15">
|
||||||
<el-col :xs="4" :sm="12" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="4">
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<i
|
<i
|
||||||
:class="collapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'"
|
:class="collapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'"
|
||||||
@ -12,15 +12,15 @@
|
|||||||
<vab-breadcrumb class="hidden-xs-only" />
|
<vab-breadcrumb class="hidden-xs-only" />
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="20" :sm="12" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="12" :xl="12" :xs="20">
|
||||||
<div class="right-panel">
|
<div class="right-panel">
|
||||||
<vab-error-log />
|
<vab-error-log />
|
||||||
<vab-full-screen-bar @refresh="refreshRoute" />
|
<vab-full-screen-bar @refresh="refreshRoute" />
|
||||||
<vab-theme-bar class="hidden-xs-only" />
|
<vab-theme-bar class="hidden-xs-only" />
|
||||||
<vab-icon
|
<vab-icon
|
||||||
title="重载所有路由"
|
|
||||||
:pulse="pulse"
|
|
||||||
:icon="['fas', 'redo']"
|
:icon="['fas', 'redo']"
|
||||||
|
:pulse="pulse"
|
||||||
|
title="重载所有路由"
|
||||||
@click="refreshRoute"
|
@click="refreshRoute"
|
||||||
/>
|
/>
|
||||||
<vab-avatar />
|
<vab-avatar />
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<span v-if="themeBar">
|
<span v-if="themeBar">
|
||||||
<vab-icon
|
<vab-icon
|
||||||
title="主题配置"
|
|
||||||
:icon="['fas', 'palette']"
|
:icon="['fas', 'palette']"
|
||||||
|
title="主题配置"
|
||||||
@click="handleOpenThemeBar"
|
@click="handleOpenThemeBar"
|
||||||
/>
|
/>
|
||||||
<div class="theme-bar-setting">
|
<div class="theme-bar-setting">
|
||||||
@ -17,11 +17,11 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-drawer
|
<el-drawer
|
||||||
title="主题配置"
|
|
||||||
:visible.sync="drawerVisible"
|
:visible.sync="drawerVisible"
|
||||||
direction="rtl"
|
|
||||||
append-to-body
|
append-to-body
|
||||||
|
direction="rtl"
|
||||||
size="300px"
|
size="300px"
|
||||||
|
title="主题配置"
|
||||||
>
|
>
|
||||||
<el-scrollbar style="height: 80vh; overflow: hidden">
|
<el-scrollbar style="height: 80vh; overflow: hidden">
|
||||||
<div class="el-drawer__body">
|
<div class="el-drawer__body">
|
||||||
@ -66,6 +66,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapActions, mapGetters } from 'vuex'
|
import { mapActions, mapGetters } from 'vuex'
|
||||||
import { layout as defaultLayout } from '@/config'
|
import { layout as defaultLayout } from '@/config'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'VabThemeBar',
|
name: 'VabThemeBar',
|
||||||
data() {
|
data() {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="vue-admin-beautiful-wrapper" :class="classObj">
|
<div :class="classObj" class="vue-admin-beautiful-wrapper">
|
||||||
<div
|
<div
|
||||||
v-if="'horizontal' === layout"
|
v-if="'horizontal' === layout"
|
||||||
class="layout-container-horizontal"
|
|
||||||
:class="{
|
:class="{
|
||||||
fixed: header === 'fixed',
|
fixed: header === 'fixed',
|
||||||
'no-tabs-bar': tabsBar === 'false' || tabsBar === false,
|
'no-tabs-bar': tabsBar === 'false' || tabsBar === false,
|
||||||
}"
|
}"
|
||||||
|
class="layout-container-horizontal"
|
||||||
>
|
>
|
||||||
<div :class="header === 'fixed' ? 'fixed-header' : ''">
|
<div :class="header === 'fixed' ? 'fixed-header' : ''">
|
||||||
<vab-top-bar />
|
<vab-top-bar />
|
||||||
@ -26,11 +26,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else
|
v-else
|
||||||
class="layout-container-vertical"
|
|
||||||
:class="{
|
:class="{
|
||||||
fixed: header === 'fixed',
|
fixed: header === 'fixed',
|
||||||
'no-tabs-bar': tabsBar === 'false' || tabsBar === false,
|
'no-tabs-bar': tabsBar === 'false' || tabsBar === false,
|
||||||
}"
|
}"
|
||||||
|
class="layout-container-vertical"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="device === 'mobile' && collapse === false"
|
v-if="device === 'mobile' && collapse === false"
|
||||||
@ -38,7 +38,7 @@
|
|||||||
@click="handleFoldSideBar"
|
@click="handleFoldSideBar"
|
||||||
/>
|
/>
|
||||||
<vab-side-bar />
|
<vab-side-bar />
|
||||||
<div class="vab-main" :class="collapse ? 'is-collapse-main' : ''">
|
<div :class="collapse ? 'is-collapse-main' : ''" class="vab-main">
|
||||||
<div :class="header === 'fixed' ? 'fixed-header' : ''">
|
<div :class="header === 'fixed' ? 'fixed-header' : ''">
|
||||||
<vab-nav-bar />
|
<vab-nav-bar />
|
||||||
<vab-tabs-bar v-if="tabsBar === 'true' || tabsBar === true" />
|
<vab-tabs-bar v-if="tabsBar === 'true' || tabsBar === true" />
|
||||||
@ -54,6 +54,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapActions, mapGetters } from 'vuex'
|
import { mapActions, mapGetters } from 'vuex'
|
||||||
import { tokenName } from '@/config'
|
import { tokenName } from '@/config'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Layout',
|
name: 'Layout',
|
||||||
data() {
|
data() {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { MessageBox } from 'element-ui'
|
import { MessageBox } from 'element-ui'
|
||||||
import { donation } from '@/config'
|
import { dependencies } from '../../package.json'
|
||||||
import { dependencies, repository } from '../../package.json'
|
|
||||||
|
|
||||||
if (!!window.ActiveXObject || 'ActiveXObject' in window) {
|
if (!!window.ActiveXObject || 'ActiveXObject' in window) {
|
||||||
MessageBox({
|
MessageBox({
|
||||||
|
@ -1 +1,5 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M19.913 14.529a31.977 31.977 0 00-.675-1.886l-.91-2.246c0-.026.012-.468.012-.696C18.34 5.86 16.507 2 12 2S5.66 5.86 5.66 9.7c0 .229.011.671.012.697l-.91 2.246a32.777 32.777 0 00-.675 1.886c-.86 2.737-.581 3.87-.369 3.895.455.054 1.771-2.06 1.771-2.06 0 1.224.637 2.822 2.016 3.976-.515.157-1.147.399-1.554.695-.365.267-.319.54-.253.65.289.481 4.955.307 6.303.157 1.347.15 6.014.324 6.302-.158.066-.11.112-.382-.253-.649-.407-.296-1.039-.538-1.555-.696 1.379-1.153 2.016-2.751 2.016-3.976 0 0 1.316 2.115 1.771 2.06.212-.025.49-1.157-.37-3.894"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path fill="none" d="M0 0h24v24H0z"/>
|
||||||
|
<path
|
||||||
|
d="M19.913 14.529a31.977 31.977 0 00-.675-1.886l-.91-2.246c0-.026.012-.468.012-.696C18.34 5.86 16.507 2 12 2S5.66 5.86 5.66 9.7c0 .229.011.671.012.697l-.91 2.246a32.777 32.777 0 00-.675 1.886c-.86 2.737-.581 3.87-.369 3.895.455.054 1.771-2.06 1.771-2.06 0 1.224.637 2.822 2.016 3.976-.515.157-1.147.399-1.554.695-.365.267-.319.54-.253.65.289.481 4.955.307 6.303.157 1.347.15 6.014.324 6.302-.158.066-.11.112-.382-.253-.649-.407-.296-1.039-.538-1.555-.696 1.379-1.153 2.016-2.751 2.016-3.976 0 0 1.316 2.115 1.771 2.06.212-.025.49-1.157-.37-3.894"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 669 B |
@ -1 +1,4 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M1 3h4l7 12 7-12h4L12 22 1 3zm8.667 0L12 7l2.333-4h4.035L12 14 5.632 3h4.035z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path fill="none" d="M0 0h24v24H0z"/>
|
||||||
|
<path d="M1 3h4l7 12 7-12h4L12 22 1 3zm8.667 0L12 7l2.333-4h4.035L12 14 5.632 3h4.035z"/>
|
||||||
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 193 B After Width: | Height: | Size: 200 B |
@ -119,8 +119,8 @@ $--fill-base: $--color-white;
|
|||||||
|
|
||||||
/* Typography
|
/* Typography
|
||||||
-------------------------- */
|
-------------------------- */
|
||||||
$--font-path: "~element-ui/lib/theme-chalk/fonts";
|
$--font-path: '~element-ui/lib/theme-chalk/fonts';
|
||||||
$--font-display: "auto";
|
$--font-display: 'auto';
|
||||||
/// fontSize|1|Font Size|0
|
/// fontSize|1|Font Size|0
|
||||||
$--font-size-extra-large: 20px;
|
$--font-size-extra-large: 20px;
|
||||||
/// fontSize|1|Font Size|0
|
/// fontSize|1|Font Size|0
|
||||||
@ -987,51 +987,51 @@ $--lg: 1200px;
|
|||||||
$--xl: 1920px;
|
$--xl: 1920px;
|
||||||
|
|
||||||
$--breakpoints: (
|
$--breakpoints: (
|
||||||
"xs": (
|
'xs': (
|
||||||
max-width: $--sm - 1,
|
max-width: $--sm - 1,
|
||||||
),
|
),
|
||||||
"sm": (
|
'sm': (
|
||||||
min-width: $--sm,
|
min-width: $--sm,
|
||||||
),
|
),
|
||||||
"md": (
|
'md': (
|
||||||
min-width: $--md,
|
min-width: $--md,
|
||||||
),
|
),
|
||||||
"lg": (
|
'lg': (
|
||||||
min-width: $--lg,
|
min-width: $--lg,
|
||||||
),
|
),
|
||||||
"xl": (
|
'xl': (
|
||||||
min-width: $--xl,
|
min-width: $--xl,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
$--breakpoints-spec: (
|
$--breakpoints-spec: (
|
||||||
"xs-only": (
|
'xs-only': (
|
||||||
max-width: $--sm - 1,
|
max-width: $--sm - 1,
|
||||||
),
|
),
|
||||||
"sm-and-up": (
|
'sm-and-up': (
|
||||||
min-width: $--sm,
|
min-width: $--sm,
|
||||||
),
|
),
|
||||||
"sm-only": "(min-width: #{$--sm}) and (max-width: #{$--md - 1})",
|
'sm-only': '(min-width: #{$--sm}) and (max-width: #{$--md - 1})',
|
||||||
"sm-and-down": (
|
'sm-and-down': (
|
||||||
max-width: $--md - 1,
|
max-width: $--md - 1,
|
||||||
),
|
),
|
||||||
"md-and-up": (
|
'md-and-up': (
|
||||||
min-width: $--md,
|
min-width: $--md,
|
||||||
),
|
),
|
||||||
"md-only": "(min-width: #{$--md}) and (max-width: #{$--lg - 1})",
|
'md-only': '(min-width: #{$--md}) and (max-width: #{$--lg - 1})',
|
||||||
"md-and-down": (
|
'md-and-down': (
|
||||||
max-width: $--lg - 1,
|
max-width: $--lg - 1,
|
||||||
),
|
),
|
||||||
"lg-and-up": (
|
'lg-and-up': (
|
||||||
min-width: $--lg,
|
min-width: $--lg,
|
||||||
),
|
),
|
||||||
"lg-only": "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})",
|
'lg-only': '(min-width: #{$--lg}) and (max-width: #{$--xl - 1})',
|
||||||
"lg-and-down": (
|
'lg-and-down': (
|
||||||
max-width: $--xl - 1,
|
max-width: $--xl - 1,
|
||||||
),
|
),
|
||||||
"xl-only": (
|
'xl-only': (
|
||||||
min-width: $--xl,
|
min-width: $--xl,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
@import "~element-ui/packages/theme-chalk/src/index";
|
@import '~element-ui/packages/theme-chalk/src/index';
|
||||||
|
30
src/styles/normalize.scss
vendored
30
src/styles/normalize.scss
vendored
@ -197,9 +197,9 @@ select {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
button,
|
button,
|
||||||
[type="button"],
|
[type='button'],
|
||||||
[type="reset"],
|
[type='reset'],
|
||||||
[type="submit"] {
|
[type='submit'] {
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,9 +208,9 @@ button,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
button::-moz-focus-inner,
|
||||||
[type="button"]::-moz-focus-inner,
|
[type='button']::-moz-focus-inner,
|
||||||
[type="reset"]::-moz-focus-inner,
|
[type='reset']::-moz-focus-inner,
|
||||||
[type="submit"]::-moz-focus-inner {
|
[type='submit']::-moz-focus-inner {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border-style: none;
|
border-style: none;
|
||||||
}
|
}
|
||||||
@ -220,9 +220,9 @@ button::-moz-focus-inner,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
button:-moz-focusring,
|
button:-moz-focusring,
|
||||||
[type="button"]:-moz-focusring,
|
[type='button']:-moz-focusring,
|
||||||
[type="reset"]:-moz-focusring,
|
[type='reset']:-moz-focusring,
|
||||||
[type="submit"]:-moz-focusring {
|
[type='submit']:-moz-focusring {
|
||||||
outline: 1px dotted ButtonText;
|
outline: 1px dotted ButtonText;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,8 +271,8 @@ textarea {
|
|||||||
* 2. Remove the padding in IE 10.
|
* 2. Remove the padding in IE 10.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[type="checkbox"],
|
[type='checkbox'],
|
||||||
[type="radio"] {
|
[type='radio'] {
|
||||||
box-sizing: border-box; /* 1 */
|
box-sizing: border-box; /* 1 */
|
||||||
padding: 0; /* 2 */
|
padding: 0; /* 2 */
|
||||||
}
|
}
|
||||||
@ -281,8 +281,8 @@ textarea {
|
|||||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[type="number"]::-webkit-inner-spin-button,
|
[type='number']::-webkit-inner-spin-button,
|
||||||
[type="number"]::-webkit-outer-spin-button {
|
[type='number']::-webkit-outer-spin-button {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -291,7 +291,7 @@ textarea {
|
|||||||
* 2. Correct the outline style in Safari.
|
* 2. Correct the outline style in Safari.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[type="search"] {
|
[type='search'] {
|
||||||
-webkit-appearance: textfield; /* 1 */
|
-webkit-appearance: textfield; /* 1 */
|
||||||
outline-offset: -2px; /* 2 */
|
outline-offset: -2px; /* 2 */
|
||||||
}
|
}
|
||||||
@ -300,7 +300,7 @@ textarea {
|
|||||||
* Remove the inner padding in Chrome and Safari on macOS.
|
* Remove the inner padding in Chrome and Safari on macOS.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[type="search"]::-webkit-search-decoration {
|
[type='search']::-webkit-search-decoration {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,103 +8,75 @@
|
|||||||
text-indent: -9999px;
|
text-indent: -9999px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
box-shadow: #f86 -14px -14px 0 7px,
|
box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
transform-origin: 50% 50%;
|
transform-origin: 50% 50%;
|
||||||
animation: dots-loader 5s infinite ease-in-out;
|
animation: dots-loader 5s infinite ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes dots-loader {
|
@keyframes dots-loader {
|
||||||
0% {
|
0% {
|
||||||
box-shadow: #f86 -14px -14px 0 7px,
|
box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
8.33% {
|
8.33% {
|
||||||
box-shadow: #f86 14px -14px 0 7px,
|
box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
16.67% {
|
16.67% {
|
||||||
box-shadow: #f86 14px 14px 0 7px,
|
box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px,
|
||||||
#fc6 14px 14px 0 7px,
|
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
#4ae -14px 14px 0 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
25% {
|
25% {
|
||||||
box-shadow: #f86 -14px 14px 0 7px,
|
box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px,
|
||||||
#fc6 -14px 14px 0 7px,
|
#6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 -14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
33.33% {
|
33.33% {
|
||||||
box-shadow: #f86 -14px -14px 0 7px,
|
box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px,
|
||||||
#fc6 -14px 14px 0 7px,
|
#6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
|
||||||
#6d7 -14px -14px 0 7px,
|
|
||||||
#4ae -14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
41.67% {
|
41.67% {
|
||||||
box-shadow: #f86 14px -14px 0 7px,
|
box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px,
|
||||||
#fc6 -14px 14px 0 7px,
|
#6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
|
||||||
#6d7 -14px -14px 0 7px,
|
|
||||||
#4ae 14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
50% {
|
50% {
|
||||||
box-shadow: #f86 14px 14px 0 7px,
|
box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px,
|
||||||
#fc6 -14px 14px 0 7px,
|
#6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
|
||||||
#6d7 -14px -14px 0 7px,
|
|
||||||
#4ae 14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
58.33% {
|
58.33% {
|
||||||
box-shadow: #f86 -14px 14px 0 7px,
|
box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px,
|
||||||
#fc6 -14px 14px 0 7px,
|
#6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
|
||||||
#6d7 -14px -14px 0 7px,
|
|
||||||
#4ae 14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
66.67% {
|
66.67% {
|
||||||
box-shadow: #f86 -14px -14px 0 7px,
|
box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px,
|
||||||
#fc6 -14px -14px 0 7px,
|
#6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
|
||||||
#6d7 -14px -14px 0 7px,
|
|
||||||
#4ae 14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
75% {
|
75% {
|
||||||
box-shadow: #f86 14px -14px 0 7px,
|
box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
|
||||||
#6d7 14px -14px 0 7px,
|
|
||||||
#4ae 14px -14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
83.33% {
|
83.33% {
|
||||||
box-shadow: #f86 14px 14px 0 7px,
|
box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae 14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
91.67% {
|
91.67% {
|
||||||
box-shadow: #f86 -14px 14px 0 7px,
|
box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
box-shadow: #f86 -14px -14px 0 7px,
|
box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px,
|
||||||
#fc6 14px -14px 0 7px,
|
#6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
|
||||||
#6d7 14px 14px 0 7px,
|
|
||||||
#4ae -14px 14px 0 7px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
left: 30px;
|
left: 30px;
|
||||||
width: 4px;
|
width: 4px;
|
||||||
height: 27px;
|
height: 27px;
|
||||||
content: "";
|
content: '';
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
transform-origin: 50% 100%;
|
transform-origin: 50% 100%;
|
||||||
@ -30,7 +30,7 @@
|
|||||||
left: 26px;
|
left: 26px;
|
||||||
width: 13px;
|
width: 13px;
|
||||||
height: 13px;
|
height: 13px;
|
||||||
content: "";
|
content: '';
|
||||||
background: white;
|
background: white;
|
||||||
-moz-border-radius: 8px;
|
-moz-border-radius: 8px;
|
||||||
-webkit-border-radius: 8px;
|
-webkit-border-radius: 8px;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
content: "";
|
content: '';
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
right: 50%;
|
right: 50%;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
content: "";
|
content: '';
|
||||||
background: #f86;
|
background: #f86;
|
||||||
-moz-border-radius: 24px 0 0 24px;
|
-moz-border-radius: 24px 0 0 24px;
|
||||||
-webkit-border-radius: 24px;
|
-webkit-border-radius: 24px;
|
||||||
@ -49,7 +49,7 @@
|
|||||||
right: 50%;
|
right: 50%;
|
||||||
width: 50%;
|
width: 50%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
content: "";
|
content: '';
|
||||||
background: #fc6;
|
background: #fc6;
|
||||||
-moz-border-radius: 24px 0 0 24px;
|
-moz-border-radius: 24px 0 0 24px;
|
||||||
-webkit-border-radius: 24px;
|
-webkit-border-radius: 24px;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
@import './normalize.scss';
|
@import './normalize.scss';
|
||||||
@import './transition.scss';
|
@import './transition.scss';
|
||||||
@import './loading.scss';
|
@import './loading.scss';
|
||||||
|
|
||||||
$base: '.vab';
|
$base: '.vab';
|
||||||
|
|
||||||
@mixin scrollbar {
|
@mixin scrollbar {
|
||||||
@ -70,8 +71,10 @@ a {
|
|||||||
* {
|
* {
|
||||||
transition: $base-transition;
|
transition: $base-transition;
|
||||||
}
|
}
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
transition: none;
|
transition: none;
|
||||||
|
|
||||||
* {
|
* {
|
||||||
transition: none;
|
transition: none;
|
||||||
}
|
}
|
||||||
@ -146,6 +149,7 @@ html {
|
|||||||
* {
|
* {
|
||||||
transition: none;
|
transition: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
padding: $base-padding;
|
padding: $base-padding;
|
||||||
background: $base-color-white;
|
background: $base-color-white;
|
||||||
}
|
}
|
||||||
@ -264,6 +268,7 @@ html {
|
|||||||
.el-submenu {
|
.el-submenu {
|
||||||
margin: 7px !important;
|
margin: 7px !important;
|
||||||
border-radius: 5px !important;
|
border-radius: 5px !important;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-radius: 5px !important;
|
border-radius: 5px !important;
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,11 @@ import {
|
|||||||
contentType,
|
contentType,
|
||||||
debounce,
|
debounce,
|
||||||
invalidCode,
|
invalidCode,
|
||||||
|
loginInterception,
|
||||||
noPermissionCode,
|
noPermissionCode,
|
||||||
requestTimeout,
|
requestTimeout,
|
||||||
successCode,
|
successCode,
|
||||||
tokenName,
|
tokenName,
|
||||||
loginInterception,
|
|
||||||
} from '@/config'
|
} from '@/config'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
export function isExternal(path) {
|
export function isExternal(path) {
|
||||||
return /^(https?:|mailto:|tel:)/.test(path)
|
return /^(https?:|mailto:|tel:)/.test(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author https://vue-admin-beautiful.com (不想保留author可删除)
|
* @author https://vue-admin-beautiful.com (不想保留author可删除)
|
||||||
* @description 校验密码是否小于6位
|
* @description 校验密码是否小于6位
|
||||||
@ -16,6 +17,7 @@ export function isExternal(path) {
|
|||||||
export function isPassword(str) {
|
export function isPassword(str) {
|
||||||
return str.length >= 6
|
return str.length >= 6
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
||||||
* @description 判断是否是字符串
|
* @description 判断是否是字符串
|
||||||
@ -25,6 +27,7 @@ export function isPassword(str) {
|
|||||||
export function isString(str) {
|
export function isString(str) {
|
||||||
return typeof str === 'string' || str instanceof String
|
return typeof str === 'string' || str instanceof String
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
||||||
* @description 判断是否是数组
|
* @description 判断是否是数组
|
||||||
@ -37,6 +40,7 @@ export function isArray(arg) {
|
|||||||
}
|
}
|
||||||
return Array.isArray(arg)
|
return Array.isArray(arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
* @author chuzhixin 1204505056@qq.com (不想保留author可删除)
|
||||||
* @description 判断是否是手机号
|
* @description 判断是否是手机号
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="error-container">
|
<div class="error-container">
|
||||||
<div class="error-content">
|
<div class="error-content">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
|
||||||
<div class="pic-error">
|
<div class="pic-error">
|
||||||
<img
|
<img
|
||||||
alt="401"
|
alt="401"
|
||||||
@ -27,7 +27,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
|
||||||
<div class="bullshit">
|
<div class="bullshit">
|
||||||
<div class="bullshit-oops">{{ oops }}</div>
|
<div class="bullshit-oops">{{ oops }}</div>
|
||||||
<div class="bullshit-headline">{{ headline }}</div>
|
<div class="bullshit-headline">{{ headline }}</div>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="error-container">
|
<div class="error-container">
|
||||||
<div class="error-content">
|
<div class="error-content">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
|
||||||
<div class="pic-error">
|
<div class="pic-error">
|
||||||
<img
|
<img
|
||||||
alt="401"
|
alt="401"
|
||||||
@ -27,7 +27,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
|
||||||
<div class="bullshit">
|
<div class="bullshit">
|
||||||
<div class="bullshit-oops">{{ oops }}</div>
|
<div class="bullshit-oops">{{ oops }}</div>
|
||||||
<div class="bullshit-headline">{{ headline }}</div>
|
<div class="bullshit-headline">{{ headline }}</div>
|
||||||
|
@ -7,29 +7,30 @@
|
|||||||
祝用框架的小伙伴都能住上别墅,开上保时捷
|
祝用框架的小伙伴都能住上别墅,开上保时捷
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
<el-table :data="tableData" row-key="title" height="283px">
|
<el-table :data="tableData" height="283px" row-key="title">
|
||||||
<el-table-column align="center" label="拖拽" width="50px">
|
<el-table-column align="center" label="拖拽" width="50px">
|
||||||
<template #default="{}">
|
<template #default="{}">
|
||||||
<vab-icon
|
<vab-icon
|
||||||
style="cursor: pointer"
|
|
||||||
:icon="['fas', 'arrows-alt']"
|
:icon="['fas', 'arrows-alt']"
|
||||||
|
style="cursor: pointer"
|
||||||
></vab-icon>
|
></vab-icon>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="20px" />
|
<el-table-column width="20px" />
|
||||||
<el-table-column prop="title" label="目标" width="230px" />
|
<el-table-column label="目标" prop="title" width="230px" />
|
||||||
<el-table-column label="进度" width="220px">
|
<el-table-column label="进度" width="220px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-progress :percentage="row.percentage" :color="row.color" />
|
<el-progress :color="row.color" :percentage="row.percentage" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="50px" />
|
<el-table-column width="50px" />
|
||||||
<el-table-column prop="endTIme" label="完成时间" />
|
<el-table-column label="完成时间" prop="endTIme" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Sortable from 'sortablejs'
|
import Sortable from 'sortablejs'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -27,16 +27,16 @@
|
|||||||
<td>授权渠道</td>
|
<td>授权渠道</td>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://vue-admin-beautiful.com/authorization"
|
href="https://vue-admin-beautiful.com/authorization"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
<el-button style="margin-left: 10px" type="primary">
|
<el-button style="margin-left: 10px" type="primary">
|
||||||
PRO付费版本 购买源码 ¥699
|
PRO付费版本 购买源码 ¥699
|
||||||
</el-button>
|
</el-button>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://vue-admin-beautiful.com/authorization"
|
href="https://vue-admin-beautiful.com/authorization"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
<el-button style="margin-left: 10px" type="primary">
|
<el-button style="margin-left: 10px" type="primary">
|
||||||
Plus付费版本 购买源码 ¥799
|
Plus付费版本 购买源码 ¥799
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="index-container">
|
<div class="index-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
|
||||||
<el-alert v-if="noticeList[0]" :closable="noticeList[0].closable">
|
<el-alert v-if="noticeList[0]" :closable="noticeList[0].closable">
|
||||||
<div
|
<div
|
||||||
style="display: flex; align-items: center; justify-content: center"
|
style="display: flex; align-items: center; justify-content: center"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://github.com/chuzhixin/vue-admin-better"
|
href="https://github.com/chuzhixin/vue-admin-better"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
style="margin-right: 10px"
|
|
||||||
src="https://img.shields.io/github/stars/chuzhixin/vue-admin-better?style=flat-square&label=Stars&logo=github"
|
src="https://img.shields.io/github/stars/chuzhixin/vue-admin-better?style=flat-square&label=Stars&logo=github"
|
||||||
|
style="margin-right: 10px"
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
<p v-html="noticeList[0].title"></p>
|
<p v-html="noticeList[0].title"></p>
|
||||||
</div>
|
</div>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="6" :xl="6">
|
<el-col :lg="6" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>访问量</span>
|
<span>访问量</span>
|
||||||
</div>
|
</div>
|
||||||
<vab-chart autoresize :option="fwl" />
|
<vab-chart :option="fwl" autoresize />
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<span>
|
<span>
|
||||||
日均访问量:
|
日均访问量:
|
||||||
@ -34,12 +34,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="6" :xl="6">
|
<el-col :lg="6" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>授权数</span>
|
<span>授权数</span>
|
||||||
</div>
|
</div>
|
||||||
<vab-chart autoresize :option="sqs" />
|
<vab-chart :option="sqs" autoresize />
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<span>
|
<span>
|
||||||
总授权数:
|
总授权数:
|
||||||
@ -52,31 +52,31 @@
|
|||||||
<el-col
|
<el-col
|
||||||
v-for="(item, index) in iconList"
|
v-for="(item, index) in iconList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:xs="12"
|
|
||||||
:sm="6"
|
|
||||||
:md="3"
|
|
||||||
:lg="3"
|
:lg="3"
|
||||||
|
:md="3"
|
||||||
|
:sm="6"
|
||||||
:xl="3"
|
:xl="3"
|
||||||
|
:xs="12"
|
||||||
>
|
>
|
||||||
<router-link :to="item.link" target="_blank">
|
<router-link :to="item.link" target="_blank">
|
||||||
<el-card class="icon-panel" shadow="never">
|
<el-card class="icon-panel" shadow="never">
|
||||||
<vab-icon
|
<vab-icon
|
||||||
:style="{ color: item.color }"
|
|
||||||
:icon="['fas', item.icon]"
|
:icon="['fas', item.icon]"
|
||||||
|
:style="{ color: item.color }"
|
||||||
></vab-icon>
|
></vab-icon>
|
||||||
<p>{{ item.title }}</p>
|
<p>{{ item.title }}</p>
|
||||||
</el-card>
|
</el-card>
|
||||||
</router-link>
|
</router-link>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="11" :xl="11">
|
<el-col :lg="11" :md="24" :sm="24" :xl="11" :xs="24">
|
||||||
<el-card class="card" shadow="never">
|
<el-card class="card" shadow="never">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>依赖信息</span>
|
<span>依赖信息</span>
|
||||||
<div style="float: right">部署时间:{{ updateTime }}</div>
|
<div style="float: right">部署时间:{{ updateTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-btn">
|
<div class="bottom-btn">
|
||||||
<el-popover placement="top" width="250" trigger="hover">
|
<el-popover placement="top" trigger="hover" width="250">
|
||||||
<p>
|
<p>
|
||||||
请我们喝杯咖啡,付款后联系qq
|
请我们喝杯咖啡,付款后联系qq
|
||||||
783963206,我们将邀请您加入我们的讨论群,谢谢您愿意支持开源,加群获取文档、及基础模板,群内大佬众多,希望能帮到大家(如情况不允许,请勿勉强)。
|
783963206,我们将邀请您加入我们的讨论群,谢谢您愿意支持开源,加群获取文档、及基础模板,群内大佬众多,希望能帮到大家(如情况不允许,请勿勉强)。
|
||||||
@ -87,14 +87,14 @@
|
|||||||
</a>
|
</a>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://github.com/chuzhixin/vue-admin-better"
|
href="https://github.com/chuzhixin/vue-admin-better"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
<el-button type="warning">github下载源码点star</el-button>
|
<el-button type="warning">github下载源码点star</el-button>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://gitee.com/chu1204505056/vue-admin-beautiful"
|
href="https://gitee.com/chu1204505056/vue-admin-beautiful"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
<el-button type="warning">码云下载源码点star</el-button>
|
<el-button type="warning">码云下载源码点star</el-button>
|
||||||
</a>
|
</a>
|
||||||
@ -147,15 +147,15 @@
|
|||||||
<span>其他信息</span>
|
<span>其他信息</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
<vab-colorful-icon style="font-size: 140px" icon-class="vab" />
|
<vab-colorful-icon icon-class="vab" style="font-size: 140px" />
|
||||||
<h1 style="font-size: 30px">vue-admin-better</h1>
|
<h1 style="font-size: 30px">vue-admin-better</h1>
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(item, index) in noticeList" :key="index">
|
<div v-for="(item, index) in noticeList" :key="index">
|
||||||
<el-alert
|
<el-alert
|
||||||
v-if="index !== 0"
|
v-if="index !== 0"
|
||||||
|
:closable="item.closable"
|
||||||
:title="item.title"
|
:title="item.title"
|
||||||
:type="item.type"
|
:type="item.type"
|
||||||
:closable="item.closable"
|
|
||||||
></el-alert>
|
></el-alert>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
@ -164,7 +164,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="13" :lg="13" :xl="13">
|
<el-col :lg="13" :md="13" :sm="24" :xl="13" :xs="24">
|
||||||
<el-card class="card" shadow="never">
|
<el-card class="card" shadow="never">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>更新日志</span>
|
<span>更新日志</span>
|
||||||
@ -173,8 +173,8 @@
|
|||||||
<el-timeline-item
|
<el-timeline-item
|
||||||
v-for="(activity, index) in activities"
|
v-for="(activity, index) in activities"
|
||||||
:key="index"
|
:key="index"
|
||||||
:timestamp="activity.timestamp"
|
|
||||||
:color="activity.color"
|
:color="activity.color"
|
||||||
|
:timestamp="activity.timestamp"
|
||||||
>
|
>
|
||||||
{{ activity.content }}
|
{{ activity.content }}
|
||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
@ -192,7 +192,6 @@
|
|||||||
import { dependencies, devDependencies } from '../../../package.json'
|
import { dependencies, devDependencies } from '../../../package.json'
|
||||||
import { getList } from '@/api/changeLog'
|
import { getList } from '@/api/changeLog'
|
||||||
import { getNoticeList } from '@/api/notice'
|
import { getNoticeList } from '@/api/notice'
|
||||||
import { getRepos, getStargazers } from '@/api/github'
|
|
||||||
import Plan from './components/Plan'
|
import Plan from './components/Plan'
|
||||||
import VersionInformation from './components/VersionInformation'
|
import VersionInformation from './components/VersionInformation'
|
||||||
|
|
||||||
@ -576,18 +575,18 @@
|
|||||||
const res = await getNoticeList()
|
const res = await getNoticeList()
|
||||||
this.noticeList = res.data
|
this.noticeList = res.data
|
||||||
/* getRepos({
|
/* getRepos({
|
||||||
|
token: "1061286824f978ea3cf98b7b8ea26fe27ba7cea1",
|
||||||
|
}).then((res) => {
|
||||||
|
const per_page = Math.ceil(res.data.stargazers_count / 100);
|
||||||
|
alert(per_page);
|
||||||
|
getStargazers({
|
||||||
token: "1061286824f978ea3cf98b7b8ea26fe27ba7cea1",
|
token: "1061286824f978ea3cf98b7b8ea26fe27ba7cea1",
|
||||||
|
page: 1,
|
||||||
|
per_page: res.per_page,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
const per_page = Math.ceil(res.data.stargazers_count / 100);
|
alert(JSON.stringify(res));
|
||||||
alert(per_page);
|
});
|
||||||
getStargazers({
|
}); */
|
||||||
token: "1061286824f978ea3cf98b7b8ea26fe27ba7cea1",
|
|
||||||
page: 1,
|
|
||||||
per_page: res.per_page,
|
|
||||||
}).then((res) => {
|
|
||||||
alert(JSON.stringify(res));
|
|
||||||
});
|
|
||||||
}); */
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
<el-alert
|
<el-alert
|
||||||
title="beautiful boys and girls欢迎加入vue-admin-beautifulQQ群:972435319"
|
|
||||||
type="success"
|
|
||||||
:closable="false"
|
:closable="false"
|
||||||
style="position: fixed"
|
style="position: fixed"
|
||||||
|
title="beautiful boys and girls欢迎加入vue-admin-beautifulQQ群:972435319"
|
||||||
|
type="success"
|
||||||
></el-alert>
|
></el-alert>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16">
|
<el-col :lg="16" :md="12" :sm="24" :xl="16" :xs="24">
|
||||||
<div style="color: transparent">占位符</div>
|
<div style="color: transparent">占位符</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-form
|
<el-form
|
||||||
ref="form"
|
ref="form"
|
||||||
:model="form"
|
:model="form"
|
||||||
@ -20,7 +20,7 @@
|
|||||||
>
|
>
|
||||||
<div class="title">hello !</div>
|
<div class="title">hello !</div>
|
||||||
<div class="title-tips">欢迎来到{{ title }}!</div>
|
<div class="title-tips">欢迎来到{{ title }}!</div>
|
||||||
<el-form-item style="margin-top: 40px" prop="username">
|
<el-form-item prop="username" style="margin-top: 40px">
|
||||||
<span class="svg-container svg-container-admin">
|
<span class="svg-container svg-container-admin">
|
||||||
<vab-icon :icon="['fas', 'user']" />
|
<vab-icon :icon="['fas', 'user']" />
|
||||||
</span>
|
</span>
|
||||||
@ -41,8 +41,8 @@
|
|||||||
ref="password"
|
ref="password"
|
||||||
v-model.trim="form.password"
|
v-model.trim="form.password"
|
||||||
:type="passwordType"
|
:type="passwordType"
|
||||||
tabindex="2"
|
|
||||||
placeholder="请输入密码"
|
placeholder="请输入密码"
|
||||||
|
tabindex="2"
|
||||||
@keyup.enter.native="handleLogin"
|
@keyup.enter.native="handleLogin"
|
||||||
/>
|
/>
|
||||||
<span
|
<span
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
<vab-query-form-right-panel :span="24">
|
<vab-query-form-right-panel :span="24">
|
||||||
<el-form
|
<el-form
|
||||||
ref="form"
|
ref="form"
|
||||||
:model="queryForm"
|
|
||||||
:inline="true"
|
:inline="true"
|
||||||
|
:model="queryForm"
|
||||||
@submit.native.prevent
|
@submit.native.prevent
|
||||||
>
|
>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -14,8 +14,8 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
icon="el-icon-search"
|
icon="el-icon-search"
|
||||||
type="primary"
|
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
|
type="primary"
|
||||||
@click="handleQuery"
|
@click="handleQuery"
|
||||||
>
|
>
|
||||||
查询
|
查询
|
||||||
@ -28,11 +28,11 @@
|
|||||||
<el-col
|
<el-col
|
||||||
v-for="(item, index) in list"
|
v-for="(item, index) in list"
|
||||||
:key="index"
|
:key="index"
|
||||||
:xs="24"
|
|
||||||
:sm="8"
|
|
||||||
:md="8"
|
|
||||||
:lg="8"
|
:lg="8"
|
||||||
|
:md="8"
|
||||||
|
:sm="8"
|
||||||
:xl="6"
|
:xl="6"
|
||||||
|
:xs="24"
|
||||||
>
|
>
|
||||||
<el-card :body-style="{ padding: '0px' }" shadow="hover">
|
<el-card :body-style="{ padding: '0px' }" shadow="hover">
|
||||||
<div class="goods-list-card-body">
|
<div class="goods-list-card-body">
|
||||||
@ -53,11 +53,11 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
|
||||||
:current-page="queryForm.pageNo"
|
:current-page="queryForm.pageNo"
|
||||||
:layout="layout"
|
:layout="layout"
|
||||||
:page-size="queryForm.pageSize"
|
:page-size="queryForm.pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
|
background
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="pay-button-group">
|
<div class="pay-button-group">
|
||||||
<el-button type="primary" :loading="loading" @click="handleSubmit">
|
<el-button :loading="loading" type="primary" @click="handleSubmit">
|
||||||
提交
|
提交
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="handlePrev">上一步</el-button>
|
<el-button @click="handlePrev">上一步</el-button>
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="pay-top-content">
|
<div class="pay-top-content">
|
||||||
<vab-icon class="pay-success" :icon="['fas', 'check-circle']"></vab-icon>
|
<vab-icon :icon="['fas', 'check-circle']" class="pay-success"></vab-icon>
|
||||||
<p>支付成功</p>
|
<p>支付成功</p>
|
||||||
</div>
|
</div>
|
||||||
<el-form
|
<el-form
|
||||||
ref="form"
|
ref="form"
|
||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
label-width="120px"
|
|
||||||
class="pay-bottom"
|
class="pay-bottom"
|
||||||
|
label-width="120px"
|
||||||
>
|
>
|
||||||
<el-form-item label="付款账户:">
|
<el-form-item label="付款账户:">
|
||||||
{{ infoData.payAccount }}
|
{{ infoData.payAccount }}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
<div class="pay-container">
|
<div class="pay-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col
|
<el-col
|
||||||
:xs="24"
|
|
||||||
:sm="{ span: 20, offset: 2 }"
|
|
||||||
:md="{ span: 20, offset: 2 }"
|
|
||||||
:lg="{ span: 14, offset: 5 }"
|
:lg="{ span: 14, offset: 5 }"
|
||||||
|
:md="{ span: 20, offset: 2 }"
|
||||||
|
:sm="{ span: 20, offset: 2 }"
|
||||||
:xl="{ span: 12, offset: 6 }"
|
:xl="{ span: 12, offset: 6 }"
|
||||||
|
:xs="24"
|
||||||
>
|
>
|
||||||
<el-steps :space="200" :active="active" align-center class="steps">
|
<el-steps :active="active" :space="200" align-center class="steps">
|
||||||
<el-step title="填写转账信息"></el-step>
|
<el-step title="填写转账信息"></el-step>
|
||||||
<el-step title="确认转账信息"></el-step>
|
<el-step title="确认转账信息"></el-step>
|
||||||
<el-step title="完成"></el-step>
|
<el-step title="完成"></el-step>
|
||||||
@ -33,6 +33,7 @@
|
|||||||
import Step1 from './components/Step1'
|
import Step1 from './components/Step1'
|
||||||
import Step2 from './components/Step2'
|
import Step2 from './components/Step2'
|
||||||
import Step3 from './components/Step3'
|
import Step3 from './components/Step3'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Pay',
|
name: 'Pay',
|
||||||
components: { Step1, Step2, Step3 },
|
components: { Step1, Step2, Step3 },
|
||||||
|
@ -4,16 +4,16 @@
|
|||||||
演示环境仅做基础功能展示,若想实现不同角色的真实菜单配置,需将settings.js路由加载模式改为all模式,由后端全面接管路由渲染与权限控制
|
演示环境仅做基础功能展示,若想实现不同角色的真实菜单配置,需将settings.js路由加载模式改为all模式,由后端全面接管路由渲染与权限控制
|
||||||
</el-divider>
|
</el-divider>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :xs="24" :sm="24" :md="8" :lg="4" :xl="4">
|
<el-col :lg="4" :md="8" :sm="24" :xl="4" :xs="24">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="data"
|
:data="data"
|
||||||
|
:default-expanded-keys="['root']"
|
||||||
:props="defaultProps"
|
:props="defaultProps"
|
||||||
node-key="id"
|
node-key="id"
|
||||||
:default-expanded-keys="['root']"
|
|
||||||
@node-click="handleNodeClick"
|
@node-click="handleNodeClick"
|
||||||
></el-tree>
|
></el-tree>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="16" :lg="20" :xl="20">
|
<el-col :lg="20" :md="16" :sm="24" :xl="20" :xs="24">
|
||||||
<vab-query-form>
|
<vab-query-form>
|
||||||
<vab-query-form-top-panel :span="12">
|
<vab-query-form-top-panel :span="12">
|
||||||
<el-button icon="el-icon-plus" type="primary" @click="handleEdit">
|
<el-button icon="el-icon-plus" type="primary" @click="handleEdit">
|
||||||
@ -25,29 +25,29 @@
|
|||||||
v-loading="listLoading"
|
v-loading="listLoading"
|
||||||
:data="list"
|
:data="list"
|
||||||
:element-loading-text="elementLoadingText"
|
:element-loading-text="elementLoadingText"
|
||||||
row-key="path"
|
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||||
border
|
border
|
||||||
default-expand-all
|
default-expand-all
|
||||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
row-key="path"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="name"
|
|
||||||
label="name"
|
label="name"
|
||||||
|
prop="name"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="path"
|
|
||||||
label="路径"
|
label="路径"
|
||||||
|
prop="path"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否隐藏">
|
<el-table-column label="是否隐藏" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span>
|
<span>
|
||||||
{{ row.hidden ? '是' : '否' }}
|
{{ row.hidden ? '是' : '否' }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否一直显示当前节点">
|
<el-table-column label="是否一直显示当前节点" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span>
|
<span>
|
||||||
{{ row.alwaysShow ? '是' : '否' }}
|
{{ row.alwaysShow ? '是' : '否' }}
|
||||||
@ -55,21 +55,21 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="component"
|
|
||||||
label="vue文件路径"
|
label="vue文件路径"
|
||||||
|
prop="component"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="redirect"
|
|
||||||
label="重定向"
|
label="重定向"
|
||||||
|
prop="redirect"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="meta.title"
|
|
||||||
label="标题"
|
label="标题"
|
||||||
|
prop="meta.title"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="图标">
|
<el-table-column label="图标" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
<vab-icon
|
<vab-icon
|
||||||
@ -79,28 +79,28 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否固定">
|
<el-table-column label="是否固定" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.affix ? '是' : '否' }}
|
{{ row.meta.affix ? '是' : '否' }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否无缓存">
|
<el-table-column label="是否无缓存" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.noKeepAlive ? '是' : '否' }}
|
{{ row.meta.noKeepAlive ? '是' : '否' }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="badge">
|
<el-table-column label="badge" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.badge }}
|
{{ row.meta.badge }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="操作" width="200">
|
<el-table-column label="操作" show-overflow-tooltip width="200">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
||||||
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getRouterList as getList } from '@/api/router'
|
import { getRouterList as getList } from '@/api/router'
|
||||||
import { getTree, doDelete } from '@/api/menuManagement'
|
import { doDelete, getTree } from '@/api/menuManagement'
|
||||||
import Edit from './components/MenuManagementEdit'
|
import Edit from './components/MenuManagementEdit'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="queryForm.permission"
|
v-model.trim="queryForm.permission"
|
||||||
placeholder="请输入查询条件"
|
|
||||||
clearable
|
clearable
|
||||||
|
placeholder="请输入查询条件"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -38,16 +38,16 @@
|
|||||||
>
|
>
|
||||||
<el-table-column show-overflow-tooltip type="selection"></el-table-column>
|
<el-table-column show-overflow-tooltip type="selection"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="id"
|
|
||||||
label="id"
|
label="id"
|
||||||
|
prop="id"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="permission"
|
|
||||||
label="权限码"
|
label="权限码"
|
||||||
|
prop="permission"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="操作" width="200">
|
<el-table-column label="操作" show-overflow-tooltip width="200">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
||||||
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
||||||
@ -55,11 +55,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
|
||||||
:current-page="queryForm.pageNo"
|
:current-page="queryForm.pageNo"
|
||||||
:page-size="queryForm.pageSize"
|
|
||||||
:layout="layout"
|
:layout="layout"
|
||||||
|
:page-size="queryForm.pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
|
background
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
@ -68,7 +68,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getList, doDelete } from '@/api/roleManagement'
|
import { doDelete, getList } from '@/api/roleManagement'
|
||||||
import Edit from './components/RoleManagementEdit'
|
import Edit from './components/RoleManagementEdit'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
<el-form-item label="密码" prop="password">
|
<el-form-item label="密码" prop="password">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.password"
|
v-model.trim="form.password"
|
||||||
type="password"
|
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
type="password"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="邮箱" prop="email">
|
<el-form-item label="邮箱" prop="email">
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="queryForm.username"
|
v-model.trim="queryForm.username"
|
||||||
placeholder="请输入用户名"
|
|
||||||
clearable
|
clearable
|
||||||
|
placeholder="请输入用户名"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -35,22 +35,22 @@
|
|||||||
>
|
>
|
||||||
<el-table-column show-overflow-tooltip type="selection"></el-table-column>
|
<el-table-column show-overflow-tooltip type="selection"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="id"
|
|
||||||
label="id"
|
label="id"
|
||||||
|
prop="id"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="username"
|
|
||||||
label="用户名"
|
label="用户名"
|
||||||
|
prop="username"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="email"
|
|
||||||
label="邮箱"
|
label="邮箱"
|
||||||
|
prop="email"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
|
|
||||||
<el-table-column show-overflow-tooltip label="权限">
|
<el-table-column label="权限" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tag v-for="(item, index) in row.permissions" :key="index">
|
<el-tag v-for="(item, index) in row.permissions" :key="index">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -59,11 +59,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="datatime"
|
|
||||||
label="修改时间"
|
label="修改时间"
|
||||||
|
prop="datatime"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="操作" width="200">
|
<el-table-column label="操作" show-overflow-tooltip width="200">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
||||||
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
||||||
@ -71,11 +71,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
background
|
|
||||||
:current-page="queryForm.pageNo"
|
:current-page="queryForm.pageNo"
|
||||||
:page-size="queryForm.pageSize"
|
|
||||||
:layout="layout"
|
:layout="layout"
|
||||||
|
:page-size="queryForm.pageSize"
|
||||||
:total="total"
|
:total="total"
|
||||||
|
background
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
></el-pagination>
|
></el-pagination>
|
||||||
@ -84,7 +84,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getList, doDelete } from '@/api/userManagement'
|
import { doDelete, getList } from '@/api/userManagement'
|
||||||
import Edit from './components/UserManagementEdit'
|
import Edit from './components/UserManagementEdit'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -2,31 +2,31 @@
|
|||||||
<div class="register-container">
|
<div class="register-container">
|
||||||
<el-alert
|
<el-alert
|
||||||
v-if="nodeEnv !== 'development'"
|
v-if="nodeEnv !== 'development'"
|
||||||
title="beautiful boys and girls欢迎加入vue-admin-beautifulQQ群:972435319"
|
|
||||||
type="success"
|
|
||||||
:closable="false"
|
:closable="false"
|
||||||
style="position: fixed"
|
style="position: fixed"
|
||||||
|
title="beautiful boys and girls欢迎加入vue-admin-beautifulQQ群:972435319"
|
||||||
|
type="success"
|
||||||
></el-alert>
|
></el-alert>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="16" :xl="16">
|
<el-col :lg="16" :md="12" :sm="24" :xl="16" :xs="24">
|
||||||
<div style="color: transparent">占位符</div>
|
<div style="color: transparent">占位符</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-form
|
<el-form
|
||||||
ref="registerForm"
|
ref="registerForm"
|
||||||
:model="form"
|
:model="form"
|
||||||
class="register-form"
|
|
||||||
:rules="registerRules"
|
:rules="registerRules"
|
||||||
|
class="register-form"
|
||||||
size="mini"
|
size="mini"
|
||||||
>
|
>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.username"
|
v-model.trim="form.username"
|
||||||
v-focus
|
v-focus
|
||||||
|
auto-complete="off"
|
||||||
|
placeholder="请输入用户名"
|
||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="请输入用户名"
|
|
||||||
auto-complete="off"
|
|
||||||
>
|
>
|
||||||
<vab-icon slot="prefix" :icon="['fas', 'user-alt']"></vab-icon>
|
<vab-icon slot="prefix" :icon="['fas', 'user-alt']"></vab-icon>
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -34,11 +34,11 @@
|
|||||||
<el-form-item prop="phone">
|
<el-form-item prop="phone">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.phone"
|
v-model.trim="form.phone"
|
||||||
type="text"
|
|
||||||
placeholder="请输入手机号"
|
|
||||||
maxlength="11"
|
|
||||||
show-word-limit
|
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
maxlength="11"
|
||||||
|
placeholder="请输入手机号"
|
||||||
|
show-word-limit
|
||||||
|
type="text"
|
||||||
>
|
>
|
||||||
<vab-icon slot="prefix" :icon="['fas', 'mobile-alt']"></vab-icon>
|
<vab-icon slot="prefix" :icon="['fas', 'mobile-alt']"></vab-icon>
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -46,8 +46,8 @@
|
|||||||
<el-form-item prop="phoneCode" style="position: relative">
|
<el-form-item prop="phoneCode" style="position: relative">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.phoneCode"
|
v-model.trim="form.phoneCode"
|
||||||
type="text"
|
|
||||||
placeholder="手机验证码"
|
placeholder="手机验证码"
|
||||||
|
type="text"
|
||||||
>
|
>
|
||||||
<vab-icon
|
<vab-icon
|
||||||
slot="prefix"
|
slot="prefix"
|
||||||
@ -55,9 +55,9 @@
|
|||||||
></vab-icon>
|
></vab-icon>
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
|
||||||
class="show-pwd phone-code"
|
|
||||||
:disabled="isGetphone"
|
:disabled="isGetphone"
|
||||||
|
class="show-pwd phone-code"
|
||||||
|
type="primary"
|
||||||
@click="getPhoneCode"
|
@click="getPhoneCode"
|
||||||
>
|
>
|
||||||
{{ phoneCode }}
|
{{ phoneCode }}
|
||||||
@ -66,9 +66,9 @@
|
|||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
<el-input
|
<el-input
|
||||||
v-model.trim="form.password"
|
v-model.trim="form.password"
|
||||||
type="password"
|
|
||||||
placeholder="设置密码"
|
|
||||||
autocomplete="new-password"
|
autocomplete="new-password"
|
||||||
|
placeholder="设置密码"
|
||||||
|
type="password"
|
||||||
>
|
>
|
||||||
<vab-icon slot="prefix" :icon="['fas', 'unlock']"></vab-icon>
|
<vab-icon slot="prefix" :icon="['fas', 'unlock']"></vab-icon>
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -93,6 +93,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { isPassword, isPhone } from '@/utils/validate'
|
import { isPassword, isPhone } from '@/utils/validate'
|
||||||
import { register } from '@/api/user'
|
import { register } from '@/api/user'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
username: 'Register',
|
username: 'Register',
|
||||||
directives: {
|
directives: {
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="element-container">
|
<div class="element-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="18" :lg="18" :xl="16">
|
<el-col :lg="18" :md="18" :sm="24" :xl="16" :xs="24">
|
||||||
<el-button type="primary" @click="dialogVisible = !dialogVisible">
|
<el-button type="primary" @click="dialogVisible = !dialogVisible">
|
||||||
element全部文档点这里
|
element全部文档点这里
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:fullscreen="true"
|
:fullscreen="true"
|
||||||
title="element文档"
|
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
|
title="element文档"
|
||||||
>
|
>
|
||||||
<iframe
|
<iframe
|
||||||
class="element-iframe"
|
class="element-iframe"
|
||||||
src="https://element.eleme.cn/#/zh-CN/component/installation"
|
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
|
src="https://element.eleme.cn/#/zh-CN/component/installation"
|
||||||
></iframe>
|
></iframe>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
Tag 标签
|
Tag 标签
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/tag"
|
href="https://element.eleme.cn/#/zh-CN/component/tag"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -39,8 +39,8 @@
|
|||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
进度条
|
进度条
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/progress"
|
href="https://element.eleme.cn/#/zh-CN/component/progress"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -50,51 +50,51 @@
|
|||||||
<el-progress :percentage="100" status="warning"></el-progress>
|
<el-progress :percentage="100" status="warning"></el-progress>
|
||||||
<el-progress :percentage="50" status="exception"></el-progress>
|
<el-progress :percentage="50" status="exception"></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
:text-inside="true"
|
:percentage="70"
|
||||||
:stroke-width="26"
|
:stroke-width="26"
|
||||||
:percentage="70"
|
:text-inside="true"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
:text-inside="true"
|
:percentage="100"
|
||||||
:stroke-width="24"
|
:stroke-width="24"
|
||||||
:percentage="100"
|
:text-inside="true"
|
||||||
status="success"
|
status="success"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
:text-inside="true"
|
|
||||||
:stroke-width="22"
|
|
||||||
:percentage="80"
|
:percentage="80"
|
||||||
|
:stroke-width="22"
|
||||||
|
:text-inside="true"
|
||||||
status="warning"
|
status="warning"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
:text-inside="true"
|
|
||||||
:stroke-width="20"
|
|
||||||
:percentage="50"
|
:percentage="50"
|
||||||
|
:stroke-width="20"
|
||||||
|
:text-inside="true"
|
||||||
status="exception"
|
status="exception"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress type="circle" :percentage="0"></el-progress>
|
<el-progress :percentage="0" type="circle"></el-progress>
|
||||||
<el-progress type="circle" :percentage="25"></el-progress>
|
<el-progress :percentage="25" type="circle"></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
type="circle"
|
|
||||||
:percentage="100"
|
:percentage="100"
|
||||||
status="success"
|
status="success"
|
||||||
|
type="circle"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
type="circle"
|
|
||||||
:percentage="70"
|
:percentage="70"
|
||||||
status="warning"
|
status="warning"
|
||||||
|
type="circle"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
<el-progress
|
<el-progress
|
||||||
type="circle"
|
|
||||||
:percentage="50"
|
:percentage="50"
|
||||||
status="exception"
|
status="exception"
|
||||||
|
type="circle"
|
||||||
></el-progress>
|
></el-progress>
|
||||||
|
|
||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
按钮
|
按钮
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/button"
|
href="https://element.eleme.cn/#/zh-CN/component/button"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -106,44 +106,44 @@
|
|||||||
<el-button type="warning">警告按钮</el-button>
|
<el-button type="warning">警告按钮</el-button>
|
||||||
<el-button type="danger">危险按钮</el-button>
|
<el-button type="danger">危险按钮</el-button>
|
||||||
<el-button plain>朴素按钮</el-button>
|
<el-button plain>朴素按钮</el-button>
|
||||||
<el-button type="primary" plain>主要按钮</el-button>
|
<el-button plain type="primary">主要按钮</el-button>
|
||||||
<el-button type="success" plain>成功按钮</el-button>
|
<el-button plain type="success">成功按钮</el-button>
|
||||||
<el-button type="info" plain>信息按钮</el-button>
|
<el-button plain type="info">信息按钮</el-button>
|
||||||
<el-button type="warning" plain>警告按钮</el-button>
|
<el-button plain type="warning">警告按钮</el-button>
|
||||||
<el-button type="danger" plain>危险按钮</el-button>
|
<el-button plain type="danger">危险按钮</el-button>
|
||||||
<el-button round>圆角按钮</el-button>
|
<el-button round>圆角按钮</el-button>
|
||||||
<el-button type="primary" round>主要按钮</el-button>
|
<el-button round type="primary">主要按钮</el-button>
|
||||||
<el-button type="success" round>成功按钮</el-button>
|
<el-button round type="success">成功按钮</el-button>
|
||||||
<el-button type="info" round>信息按钮</el-button>
|
<el-button round type="info">信息按钮</el-button>
|
||||||
<el-button type="warning" round>警告按钮</el-button>
|
<el-button round type="warning">警告按钮</el-button>
|
||||||
<el-button type="danger" round>危险按钮</el-button>
|
<el-button round type="danger">危险按钮</el-button>
|
||||||
<el-button icon="el-icon-search" circle></el-button>
|
<el-button circle icon="el-icon-search"></el-button>
|
||||||
<el-button type="primary" icon="el-icon-edit" circle></el-button>
|
<el-button circle icon="el-icon-edit" type="primary"></el-button>
|
||||||
<el-button type="success" icon="el-icon-check" circle></el-button>
|
<el-button circle icon="el-icon-check" type="success"></el-button>
|
||||||
<el-button type="info" icon="el-icon-message" circle></el-button>
|
<el-button circle icon="el-icon-message" type="info"></el-button>
|
||||||
<el-button type="warning" icon="el-icon-star-off" circle></el-button>
|
<el-button circle icon="el-icon-star-off" type="warning"></el-button>
|
||||||
<el-button type="danger" icon="el-icon-delete" circle></el-button>
|
<el-button circle icon="el-icon-delete" type="danger"></el-button>
|
||||||
<el-button disabled>默认按钮</el-button>
|
<el-button disabled>默认按钮</el-button>
|
||||||
<el-button type="primary" disabled>主要按钮</el-button>
|
<el-button disabled type="primary">主要按钮</el-button>
|
||||||
<el-button type="success" disabled>成功按钮</el-button>
|
<el-button disabled type="success">成功按钮</el-button>
|
||||||
<el-button type="info" disabled>信息按钮</el-button>
|
<el-button disabled type="info">信息按钮</el-button>
|
||||||
<el-button type="warning" disabled>警告按钮</el-button>
|
<el-button disabled type="warning">警告按钮</el-button>
|
||||||
<el-button type="danger" disabled>危险按钮</el-button>
|
<el-button disabled type="danger">危险按钮</el-button>
|
||||||
<el-button type="primary" icon="el-icon-edit"></el-button>
|
<el-button icon="el-icon-edit" type="primary"></el-button>
|
||||||
<el-button type="primary" icon="el-icon-share"></el-button>
|
<el-button icon="el-icon-share" type="primary"></el-button>
|
||||||
<el-button type="primary" icon="el-icon-delete"></el-button>
|
<el-button icon="el-icon-delete" type="primary"></el-button>
|
||||||
<el-button type="primary" icon="el-icon-search">搜索</el-button>
|
<el-button icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
<el-button type="primary">
|
<el-button type="primary">
|
||||||
上传
|
上传
|
||||||
<i class="el-icon-upload el-icon--right"></i>
|
<i class="el-icon-upload el-icon--right"></i>
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" :loading="true">加载中</el-button>
|
<el-button :loading="true" type="primary">加载中</el-button>
|
||||||
|
|
||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
文字链接
|
文字链接
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/link"
|
href="https://element.eleme.cn/#/zh-CN/component/link"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -157,18 +157,18 @@
|
|||||||
<el-link type="danger">危险链接</el-link>
|
<el-link type="danger">危险链接</el-link>
|
||||||
<el-link type="info">信息链接</el-link>
|
<el-link type="info">信息链接</el-link>
|
||||||
<el-link disabled>默认链接</el-link>
|
<el-link disabled>默认链接</el-link>
|
||||||
<el-link type="primary" disabled>主要链接</el-link>
|
<el-link disabled type="primary">主要链接</el-link>
|
||||||
<el-link type="success" disabled>成功链接</el-link>
|
<el-link disabled type="success">成功链接</el-link>
|
||||||
<el-link type="warning" disabled>警告链接</el-link>
|
<el-link disabled type="warning">警告链接</el-link>
|
||||||
<el-link type="danger" disabled>危险链接</el-link>
|
<el-link disabled type="danger">危险链接</el-link>
|
||||||
<el-link type="info" disabled>信息链接</el-link>
|
<el-link disabled type="info">信息链接</el-link>
|
||||||
<el-link :underline="false">无下划线</el-link>
|
<el-link :underline="false">无下划线</el-link>
|
||||||
<el-link>有下划线</el-link>
|
<el-link>有下划线</el-link>
|
||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
头像
|
头像
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/avatar"
|
href="https://element.eleme.cn/#/zh-CN/component/avatar"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -177,8 +177,8 @@
|
|||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
页头
|
页头
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/page-header"
|
href="https://element.eleme.cn/#/zh-CN/component/page-header"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
@ -187,8 +187,8 @@
|
|||||||
<el-divider content-position="left">
|
<el-divider content-position="left">
|
||||||
面包屑
|
面包屑
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://element.eleme.cn/#/zh-CN/component/breadcrumb"
|
href="https://element.eleme.cn/#/zh-CN/component/breadcrumb"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
文档
|
文档
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="form-container">
|
<div class="form-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-form
|
<el-form
|
||||||
ref="ruleForm"
|
ref="ruleForm"
|
||||||
:model="ruleForm"
|
:model="ruleForm"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
label-width="100px"
|
|
||||||
class="demo-ruleForm"
|
class="demo-ruleForm"
|
||||||
|
label-width="100px"
|
||||||
>
|
>
|
||||||
<el-form-item label="活动名称" prop="name">
|
<el-form-item label="活动名称" prop="name">
|
||||||
<el-input v-model="ruleForm.name"></el-input>
|
<el-input v-model="ruleForm.name"></el-input>
|
||||||
|
@ -26,11 +26,11 @@
|
|||||||
<el-col
|
<el-col
|
||||||
v-for="(item, index) in queryIcon"
|
v-for="(item, index) in queryIcon"
|
||||||
:key="index"
|
:key="index"
|
||||||
:xs="6"
|
|
||||||
:sm="8"
|
|
||||||
:md="3"
|
|
||||||
:lg="2"
|
:lg="2"
|
||||||
|
:md="3"
|
||||||
|
:sm="8"
|
||||||
:xl="2"
|
:xl="2"
|
||||||
|
:xs="6"
|
||||||
>
|
>
|
||||||
<el-card
|
<el-card
|
||||||
shadow="hover"
|
shadow="hover"
|
||||||
@ -47,9 +47,9 @@
|
|||||||
<el-pagination
|
<el-pagination
|
||||||
:background="background"
|
:background="background"
|
||||||
:current-page="queryForm.pageNo"
|
:current-page="queryForm.pageNo"
|
||||||
|
:layout="layout"
|
||||||
:page-size="queryForm.pageSize"
|
:page-size="queryForm.pageSize"
|
||||||
:page-sizes="[72, 144, 216, 288]"
|
:page-sizes="[72, 144, 216, 288]"
|
||||||
:layout="layout"
|
|
||||||
:total="total"
|
:total="total"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
|
@ -20,11 +20,11 @@
|
|||||||
<el-col
|
<el-col
|
||||||
v-for="(item, index) in queryIcon"
|
v-for="(item, index) in queryIcon"
|
||||||
:key="index"
|
:key="index"
|
||||||
:xs="6"
|
|
||||||
:sm="8"
|
|
||||||
:md="3"
|
|
||||||
:lg="2"
|
:lg="2"
|
||||||
|
:md="3"
|
||||||
|
:sm="8"
|
||||||
:xl="2"
|
:xl="2"
|
||||||
|
:xs="6"
|
||||||
>
|
>
|
||||||
<el-card
|
<el-card
|
||||||
shadow="hover"
|
shadow="hover"
|
||||||
@ -39,9 +39,9 @@
|
|||||||
<el-pagination
|
<el-pagination
|
||||||
:background="background"
|
:background="background"
|
||||||
:current-page="queryForm.pageNo"
|
:current-page="queryForm.pageNo"
|
||||||
|
:layout="layout"
|
||||||
:page-size="queryForm.pageSize"
|
:page-size="queryForm.pageSize"
|
||||||
:page-sizes="[72, 144, 216, 288]"
|
:page-sizes="[72, 144, 216, 288]"
|
||||||
:layout="layout"
|
|
||||||
:total="total"
|
:total="total"
|
||||||
@size-change="handleSizeChange"
|
@size-change="handleSizeChange"
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
|
@ -4,16 +4,16 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<el-link
|
<el-link
|
||||||
type="primary"
|
|
||||||
href="https://www.lodashjs.com/"
|
href="https://www.lodashjs.com/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
type="primary"
|
||||||
>
|
>
|
||||||
lodashjs官网
|
lodashjs官网
|
||||||
</el-link>
|
</el-link>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>去除数组array中的最后一个元素</span>
|
<span>去除数组array中的最后一个元素</span>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>返回数组 array的第一个元素</span>
|
<span>返回数组 array的第一个元素</span>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>合并数组</span></div>
|
<div slot="header"><span>合并数组</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>左切片</span></div>
|
<div slot="header"><span>左切片</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -61,7 +61,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>右切片</span></div>
|
<div slot="header"><span>右切片</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -72,7 +72,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>修改拼接</span></div>
|
<div slot="header"><span>修改拼接</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -83,7 +83,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>获取数组最后一个元素</span></div>
|
<div slot="header"><span>获取数组最后一个元素</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -94,7 +94,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>数组去重</span></div>
|
<div slot="header"><span>数组去重</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -105,7 +105,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>获取数组的最大值</span></div>
|
<div slot="header"><span>获取数组的最大值</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -116,7 +116,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>获取数组的最小值</span></div>
|
<div slot="header"><span>获取数组的最小值</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -127,7 +127,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>四舍五入(保留任意位小数)</span>
|
<span>四舍五入(保留任意位小数)</span>
|
||||||
@ -140,7 +140,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>数组内数据相加</span></div>
|
<div slot="header"><span>数组内数据相加</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -151,7 +151,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>返回随机数</span></div>
|
<div slot="header"><span>返回随机数</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -162,7 +162,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>返回数组内的随机数</span></div>
|
<div slot="header"><span>返回数组内的随机数</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
@ -173,7 +173,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
<el-col :lg="8" :md="12" :sm="24" :xl="6" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header"><span>事件防抖动</span></div>
|
<div slot="header"><span>事件防抖动</span></div>
|
||||||
<div class="lodash-content">
|
<div class="lodash-content">
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import * as mapv from 'mapv'
|
import * as mapv from 'mapv'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Map',
|
name: 'Map',
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="more-container">
|
<div class="more-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="8" :xl="8">
|
<el-col :lg="8" :md="24" :sm="24" :xl="8" :xs="24">
|
||||||
<el-card>
|
<el-card>
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
开源版本
|
开源版本
|
||||||
@ -18,8 +18,8 @@
|
|||||||
<li>
|
<li>
|
||||||
开源地址
|
开源地址
|
||||||
<a
|
<a
|
||||||
target="_blank"
|
|
||||||
href="https://github.com/chuzhixin/vue-admin-beautiful"
|
href="https://github.com/chuzhixin/vue-admin-beautiful"
|
||||||
|
target="_blank"
|
||||||
>
|
>
|
||||||
如果有幸帮到了你,麻烦给个star
|
如果有幸帮到了你,麻烦给个star
|
||||||
</a>
|
</a>
|
||||||
@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="8" :xl="8">
|
<el-col :lg="8" :md="24" :sm="24" :xl="8" :xs="24">
|
||||||
<el-card>
|
<el-card>
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
VIP群
|
VIP群
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
intelligence模式,前端根据permissions拦截路由(演示环境,默认使用此方案)
|
intelligence模式,前端根据permissions拦截路由(演示环境,默认使用此方案)
|
||||||
</el-divider>
|
</el-divider>
|
||||||
|
|
||||||
<el-form ref="form" :model="form" :inline="true">
|
<el-form ref="form" :inline="true" :model="form">
|
||||||
<el-form-item label="切换账号">
|
<el-form-item label="切换账号">
|
||||||
<el-radio-group v-model="form.account">
|
<el-radio-group v-model="form.account">
|
||||||
<el-radio label="admin">admin</el-radio>
|
<el-radio label="admin">admin</el-radio>
|
||||||
@ -43,40 +43,40 @@
|
|||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
<el-col :lg="12" :md="12" :sm="24" :xl="12" :xs="24">
|
||||||
<el-table
|
<el-table
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
row-key="path"
|
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||||
border
|
border
|
||||||
default-expand-all
|
default-expand-all
|
||||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
row-key="path"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="name"
|
|
||||||
label="name"
|
label="name"
|
||||||
|
prop="name"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="path"
|
|
||||||
label="path"
|
label="path"
|
||||||
|
prop="path"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="component"
|
|
||||||
label="component"
|
label="component"
|
||||||
|
prop="component"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="redirect"
|
|
||||||
label="redirect"
|
label="redirect"
|
||||||
|
prop="redirect"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="meta.title"
|
|
||||||
label="标题"
|
label="标题"
|
||||||
|
prop="meta.title"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="图标">
|
<el-table-column label="图标" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
<vab-icon
|
<vab-icon
|
||||||
@ -86,21 +86,21 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否固定">
|
<el-table-column label="是否固定" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.affix }}
|
{{ row.meta.affix }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="是否无缓存">
|
<el-table-column label="是否无缓存" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.noKeepAlive }}
|
{{ row.meta.noKeepAlive }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="badge">
|
<el-table-column label="badge" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span v-if="row.meta">
|
<span v-if="row.meta">
|
||||||
{{ row.meta.badge }}
|
{{ row.meta.badge }}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="small-components-container">
|
<div class="small-components-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
<el-col :lg="24" :md="24" :sm="24" :xl="24" :xs="24">
|
||||||
<el-divider content-position="left">小组件</el-divider>
|
<el-divider content-position="left">小组件</el-divider>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>snow</span>
|
<span>snow</span>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<vab-snow></vab-snow>
|
<vab-snow></vab-snow>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>profile</span>
|
<span>profile</span>
|
||||||
@ -31,12 +31,12 @@
|
|||||||
></vab-profile>
|
></vab-profile>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<div slot="header">
|
<div slot="header">
|
||||||
<span>charge</span>
|
<span>charge</span>
|
||||||
</div>
|
</div>
|
||||||
<vab-charge :start-val="startVal" :end-val="endVal"></vab-charge>
|
<vab-charge :end-val="endVal" :start-val="startVal"></vab-charge>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
<vab-query-form-right-panel>
|
<vab-query-form-right-panel>
|
||||||
<el-form
|
<el-form
|
||||||
ref="form"
|
ref="form"
|
||||||
:model="queryForm"
|
|
||||||
:inline="true"
|
:inline="true"
|
||||||
|
:model="queryForm"
|
||||||
@submit.native.prevent
|
@submit.native.prevent
|
||||||
>
|
>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -26,8 +26,8 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
icon="el-icon-search"
|
icon="el-icon-search"
|
||||||
type="primary"
|
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
|
type="primary"
|
||||||
@click="handleQuery"
|
@click="handleQuery"
|
||||||
>
|
>
|
||||||
查询
|
查询
|
||||||
@ -51,22 +51,22 @@
|
|||||||
type="selection"
|
type="selection"
|
||||||
width="55"
|
width="55"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="序号" width="95">
|
<el-table-column label="序号" show-overflow-tooltip width="95">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.$index + 1 }}
|
{{ scope.$index + 1 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
prop="title"
|
|
||||||
label="标题"
|
label="标题"
|
||||||
|
prop="title"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
label="作者"
|
label="作者"
|
||||||
prop="author"
|
prop="author"
|
||||||
|
show-overflow-tooltip
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="头像">
|
<el-table-column label="头像" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-image
|
<el-image
|
||||||
v-if="imgShow"
|
v-if="imgShow"
|
||||||
@ -76,12 +76,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
label="点击量"
|
label="点击量"
|
||||||
prop="pageViews"
|
prop="pageViews"
|
||||||
|
show-overflow-tooltip
|
||||||
sortable
|
sortable
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="状态">
|
<el-table-column label="状态" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
:content="row.status"
|
:content="row.status"
|
||||||
@ -96,12 +96,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
show-overflow-tooltip
|
|
||||||
label="时间"
|
label="时间"
|
||||||
prop="datetime"
|
prop="datetime"
|
||||||
|
show-overflow-tooltip
|
||||||
width="200"
|
width="200"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column show-overflow-tooltip label="操作" width="180px">
|
<el-table-column label="操作" show-overflow-tooltip width="180px">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
<el-button type="text" @click="handleEdit(row)">编辑</el-button>
|
||||||
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
<el-button type="text" @click="handleDelete(row)">删除</el-button>
|
||||||
@ -122,8 +122,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getList, doDelete } from '@/api/table'
|
import { doDelete, getList } from '@/api/table'
|
||||||
import TableEdit from './components/TableEdit'
|
import TableEdit from './components/TableEdit'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ComprehensiveTable',
|
name: 'ComprehensiveTable',
|
||||||
components: {
|
components: {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="tree-container">
|
<div class="tree-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
|
<el-col :lg="6" :md="24" :sm="24" :xl="6" :xs="24">
|
||||||
<el-divider content-position="left">常规树</el-divider>
|
<el-divider content-position="left">常规树</el-divider>
|
||||||
<el-input v-model="filterText" placeholder="输入关键字过滤" />
|
<el-input v-model="filterText" placeholder="输入关键字过滤" />
|
||||||
<el-tree
|
<el-tree
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
|
<el-col :lg="6" :md="24" :sm="24" :xl="6" :xs="24">
|
||||||
<el-divider content-position="left">懒加载树</el-divider>
|
<el-divider content-position="left">懒加载树</el-divider>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.lazy="keyW"
|
v-model.lazy="keyW"
|
||||||
@ -137,7 +137,7 @@
|
|||||||
</el-tree>
|
</el-tree>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
|
<el-col :lg="6" :md="24" :sm="24" :xl="6" :xs="24">
|
||||||
<el-divider content-position="left">单选树</el-divider>
|
<el-divider content-position="left">单选树</el-divider>
|
||||||
<el-select
|
<el-select
|
||||||
ref="singleTree"
|
ref="singleTree"
|
||||||
@ -167,7 +167,7 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :md="24" :lg="6" :xl="6">
|
<el-col :lg="6" :md="24" :sm="24" :xl="6" :xs="24">
|
||||||
<el-divider content-position="left">多选树</el-divider>
|
<el-divider content-position="left">多选树</el-divider>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="multipleSelectTreeVal"
|
v-model="multipleSelectTreeVal"
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
<el-divider content-position="left">演示环境可能无法模拟上传</el-divider>
|
<el-divider content-position="left">演示环境可能无法模拟上传</el-divider>
|
||||||
<vab-upload
|
<vab-upload
|
||||||
ref="vabUpload"
|
ref="vabUpload"
|
||||||
url="/upload"
|
|
||||||
name="file"
|
|
||||||
:limit="50"
|
:limit="50"
|
||||||
:size="2"
|
:size="2"
|
||||||
|
name="file"
|
||||||
|
url="/upload"
|
||||||
></vab-upload>
|
></vab-upload>
|
||||||
<el-button type="primary" @click="handleShow({ key: 'value' })">
|
<el-button type="primary" @click="handleShow({ key: 'value' })">
|
||||||
模拟上传
|
模拟上传
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="webSocket-container">
|
<div class="webSocket-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="8">
|
<el-col :lg="8" :md="12" :sm="24" :xl="8" :xs="24">
|
||||||
<el-alert type="success" :closable="false">
|
<el-alert :closable="false" type="success">
|
||||||
webSocket连接{{ status }}!
|
webSocket连接{{ status }}!
|
||||||
</el-alert>
|
</el-alert>
|
||||||
<br />
|
<br />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user