This commit is contained in:
Pan
2017-06-26 18:03:05 +08:00
parent 472cbb6d65
commit 40a5977d1f
22 changed files with 57 additions and 773 deletions

View File

@@ -1,5 +1,5 @@
<template>
<section class="app-main" style="min-height: 100%">
<section class="app-main">
<transition name="fade" mode="out-in">
<router-view :key="key"></router-view>
</transition>

View File

@@ -1,11 +1,11 @@
<template>
<div class="app-wrapper" :class="{hideSidebar:!sidebar.opened}">
<div class="sidebar-wrapper">
<Sidebar class="sidebar-container" />
<sidebar class="sidebar-container"></sidebar>
</div>
<div class="main-container">
<Navbar/>
<App-main/>
<navbar></navbar>
<app-main></app-main>
</div>
</div>
</template>

View File

@@ -13,11 +13,6 @@
首页
</el-dropdown-item>
</router-link>
<router-link class='inlineBlock' to="/admin/profile">
<el-dropdown-item>
设置
</el-dropdown-item>
</router-link>
<el-dropdown-item divided><span @click="logout" style="display:block;">退出登录</span></el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

View File

@@ -3,12 +3,12 @@
<template v-for="item in routes">
<router-link v-if="!item.hidden&&item.noDropdown&&item.children.length>0" :to="item.path+'/'+item.children[0].path">
<el-menu-item :index="item.path+'/'+item.children[0].path">
<wscn-icon-svg v-if='item.icon' :icon-class="item.icon" /> {{item.children[0].name}}
<icon-svg v-if='item.icon' :icon-class="item.icon" /> {{item.children[0].name}}
</el-menu-item>
</router-link>
<el-submenu :index="item.name" v-if="!item.noDropdown&&!item.hidden">
<template slot="title">
<wscn-icon-svg v-if='item.icon' :icon-class="item.icon" /> {{item.name}}
<icon-svg v-if='item.icon' :icon-class="item.icon" /> {{item.name}}
</template>
<template v-for="child in item.children" v-if='!child.hidden'>
<sidebar-item class='menu-indent' v-if='child.children&&child.children.length>0' :routes='[child]'> </sidebar-item>
@@ -36,7 +36,7 @@
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.wscn-icon {
.svg-icon {
margin-right: 10px;
}
.hideSidebar .menu-indent{

View File

@@ -1,45 +0,0 @@
<template>
<div class='tabs-view-container'>
<router-link class="tabs-view" v-for="tag in Array.from(visitedViews)" :to="tag.path" :key="tag.path">
<el-tag :closable="true" @close='closeViewTabs(tag,$event)'>
{{tag.name}}
</el-tag>
</router-link>
</div>
</template>
<script>
export default {
computed: {
visitedViews() {
return this.$store.state.app.visitedViews.slice(-6)
}
},
methods: {
closeViewTabs(view, $event) {
this.$store.dispatch('delVisitedViews', view)
$event.preventDefault()
},
addViewTabs() {
this.$store.dispatch('addVisitedViews', this.$route.matched[this.$route.matched.length - 1])
}
},
watch: {
$route() {
this.addViewTabs()
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.tabs-view-container{
display: inline-block;
vertical-align: top;
margin-left: 10px;
.tabs-view{
margin-left: 10px;
}
}
</style>

View File

@@ -5,12 +5,16 @@
class="card-box login-form">
<h3 class="title">系统登录</h3>
<el-form-item prop="email">
<span class="svg-container"><wscn-icon-svg icon-class="jiedianyoujian"/></span>
<span class="svg-container">
<icon-svg icon-class="jiedianyoujian"></icon-svg>
</span>
<el-input name="email" type="text" v-model="loginForm.email" autoComplete="on"
placeholder="邮箱"></el-input>
</el-form-item>
<el-form-item prop="password">
<span class="svg-container"><wscn-icon-svg icon-class="mima"/></span>
<span class="svg-container">
<icon-svg icon-class="mima" ></icon-svg>
</span>
<el-input name="password" type="password" @keyup.enter.native="handleLogin" v-model="loginForm.password"
autoComplete="on" placeholder="密码"></el-input>
</el-form-item>
@@ -21,15 +25,11 @@
</el-form-item>
<div class='tips'>admin账号为:admin@wallstreetcn.com 密码随便填</div>
<div class='tips'>editor账号:editor@wallstreetcn.com 密码随便填</div>
<router-link to="/sendpwd" class="forget-pwd">
忘记密码?(或首次登录)
</router-link>
</el-form>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import { isWscnEmail } from '@/utils/validate';
export default {
@@ -62,15 +62,9 @@
{ required: true, trigger: 'blur', validator: validatePass }
]
},
loading: false,
showDialog: false
loading: false
}
},
computed: {
...mapGetters([
'auth_type'
])
},
methods: {
handleLogin() {
this.$refs.loginForm.validate(valid => {
@@ -79,7 +73,6 @@
this.$store.dispatch('Login', this.loginForm).then(() => {
this.loading = false;
this.$router.push({ path: '/' });
// this.showDialog = true;
}).catch(() => {
this.loading = false;
});
@@ -88,31 +81,7 @@
return false;
}
});
},
afterQRScan() {
// const hash = window.location.hash.slice(1);
// const hashObj = getQueryObject(hash);
// const originUrl = window.location.origin;
// history.replaceState({}, '', originUrl);
// const codeMap = {
// wechat: 'code',
// tencent: 'code'
// };
// const codeName = hashObj[codeMap[this.auth_type]];
// if (!codeName) {
// alert('第三方登录失败');
// } else {
// this.$store.dispatch('LoginByThirdparty', codeName).then(() => {
// this.$router.push({ path: '/' });
// });
// }
}
},
created() {
// window.addEventListener('hashchange', this.afterQRScan);
},
destroyed() {
// window.removeEventListener('hashchange', this.afterQRScan);
}
}
</script>