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