1、提货点
2、客服(腾讯云智服)
3、接口权限控制
4、复制第三方商品可配置
4、优化附件上传配置
5、手机端核销订单
6、手机端订单统计、订单管理
7、短信优化
8、订阅消息全自动化
This commit is contained in:
张乐
2020-09-15 16:13:25 +08:00
parent aee9c1d692
commit db2c3b44a6
245 changed files with 19900 additions and 994 deletions

View File

@@ -37,6 +37,7 @@ export default {
.hasTagsView {
.app-main {
background: #f5f5f5;
/* 84 = navbar + tags-view = 50 + 34 */
min-height: calc(100vh - 84px);
}

View File

@@ -26,9 +26,10 @@
<router-link to="/">
<el-dropdown-item>控制台</el-dropdown-item>
</router-link>
<router-link :to=" { path: '/maintain/user' } ">
<router-link :to=" { path: '/maintain/user' } " v-if="!isPhone">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item @click.native="onUnbundling">解绑账号</el-dropdown-item>
<!-- <a target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">-->
<!-- <el-dropdown-item>Github</el-dropdown-item>-->
<!-- </a>-->
@@ -51,6 +52,7 @@ import Hamburger from '@/components/Hamburger'
import ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull'
import Search from '@/components/HeaderSearch'
import { unbindApi } from '@/api/wxApi'
export default {
components: {
@@ -60,6 +62,11 @@ export default {
Screenfull,
Search
},
data() {
return {
isPhone: this.$wechat.isPhone()
}
},
computed: {
...mapGetters([
'sidebar',
@@ -68,6 +75,13 @@ export default {
])
},
methods: {
onUnbundling() {
this.$modalSure('解绑微信吗').then(() => {
unbindApi().then(() => {
this.$message.success('解绑成功')
})
})
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},

View File

@@ -2,6 +2,7 @@
<div :class="{'has-logo':showLogo}">
<logo v-if="showLogo" :collapse="isCollapse" />
<div>hello</div>
{{permission_routes}}
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu
:default-active="activeMenu"

View File

@@ -1,5 +1,5 @@
<template>
<div id="tags-view-container" class="tags-view-container">
<div id="tags-view-container" class="tags-view-container" v-if="!isPhone">
<scroll-pane ref="scrollPane" class="tags-view-wrapper">
<router-link
v-for="tag in visitedViews"
@@ -17,10 +17,10 @@
</router-link>
</scroll-pane>
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
<li @click="refreshSelectedTag(selectedTag)">Refresh</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">Close</li>
<li @click="closeOthersTags">Close Others</li>
<li @click="closeAllTags(selectedTag)">Close All</li>
<li @click="refreshSelectedTag(selectedTag)">刷新</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>
<li @click="closeOthersTags">关闭其他</li>
<li @click="closeAllTags(selectedTag)">关闭所有</li>
</ul>
</div>
</template>
@@ -33,11 +33,13 @@ export default {
components: { ScrollPane },
data() {
return {
fullWidth: document.body.clientWidth,
visible: false,
top: 0,
left: 0,
selectedTag: {},
affixTags: []
affixTags: [],
isPhone: this.$wechat.isPhone()
}
},
computed: {
@@ -51,7 +53,7 @@ export default {
watch: {
$route() {
this.addTags()
this.moveToCurrentTag()
if( !this.isPhone ) this.moveToCurrentTag()
},
visible(value) {
if (value) {
@@ -62,10 +64,14 @@ export default {
}
},
mounted() {
window.addEventListener('resize', this.handleResize)
this.initTags()
this.addTags()
},
methods: {
handleResize(event) {
this.fullWidth = document.body.clientWidth
},
isActive(route) {
return route.path === this.$route.path
},
@@ -262,7 +268,7 @@ export default {
}
</style>
<style lang="scss">
<style lang="scss" scoped>
//reset element css of el-icon-close
.tags-view-wrapper {
.tags-view-item {