⬆ chore: version

This commit is contained in:
淋雨的小丸子 2023-06-20 21:56:30 +08:00
parent 48e91e76af
commit 0f76f6d49b
67 changed files with 427 additions and 429 deletions

View File

@ -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.
<!-- ## 严正声明 <!-- ## 严正声明

View File

@ -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) |

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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;

View File

@ -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>

View File

@ -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 />

View File

@ -37,6 +37,7 @@ function handleMockArray() {
getFiles('mock/controller') getFiles('mock/controller')
return mockArray return mockArray
} }
module.exports = { module.exports = {
handleRandomImage, handleRandomImage,
handleMockArray, handleMockArray,

View File

@ -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",

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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]" />

View File

@ -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>

View File

@ -75,8 +75,6 @@
</template> </template>
<script> <script>
import { baseURL, tokenName } from '@/config'
export default { export default {
name: 'VabUpload', name: 'VabUpload',
props: { props: {

View File

@ -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() {

View File

@ -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;
} }

View File

@ -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>

View File

@ -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>

View File

@ -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 />

View File

@ -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() {

View File

@ -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() {

View File

@ -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({

View File

@ -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

View File

@ -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

View File

@ -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';

View File

@ -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;
} }

View File

@ -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;
} }
} }

View File

@ -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;

View File

@ -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%;
} }

View File

@ -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;

View File

@ -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;
} }

View File

@ -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'

View File

@ -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 判断是否是手机号

View File

@ -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>

View File

@ -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>

View File

@ -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 {

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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 }}

View File

@ -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 },

View File

@ -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 {

View File

@ -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 {

View File

@ -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">

View File

@ -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 {

View File

@ -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: {

View File

@ -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>

View File

@ -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>

View File

@ -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"

View File

@ -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"

View File

@ -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">

View File

@ -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: {},

View File

@ -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群

View File

@ -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 }}

View File

@ -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>

View File

@ -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: {

View File

@ -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"

View File

@ -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' })">
模拟上传 模拟上传

View File

@ -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 />