This commit is contained in:
hupeng
2020-04-06 23:19:51 +08:00
parent cbe0a6f592
commit b944b2b2d1
42 changed files with 373 additions and 130 deletions

View File

@ -0,0 +1,87 @@
<template>
<div :class="className" :style="{height:height,width:width}" />
</template>
<script>
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import { getOrderCount } from '@/api/visits'
import { debounce } from '@/utils'
export default {
props: {
className: {
type: String,
default: 'chart'
},
width: {
type: String,
default: '100%'
},
height: {
type: String,
default: '300px'
}
},
data() {
return {
chart: null,
column: [],
orderCountDatas: []
}
},
mounted() {
getOrderCount().then(res => {
this.column = res.column,
this.orderCountDatas = res.orderCountDatas
}).then(() =>{
this.initChart()
})
this.__resizeHandler = debounce(() => {
if (this.chart) {
this.chart.resize()
}
}, 100)
window.addEventListener('resize', this.__resizeHandler)
},
beforeDestroy() {
if (!this.chart) {
return
}
window.removeEventListener('resize', this.__resizeHandler)
this.chart.dispose()
this.chart = null
},
methods: {
initChart() {
this.chart = echarts.init(this.$el, 'macarons')
this.chart.setOption({
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
left: 'center',
bottom: '10',
data: this.column
},
calculable: true,
series: [
{
name: '商品分类销售占总销售的比例',
type: 'pie',
roseType: 'radius',
radius: [15, 95],
center: ['50%', '38%'],
data: this.orderCountDatas,
animationEasing: 'cubicInOut',
animationDuration: 2600
}
]
})
}
}
}
</script>

View File

@ -3,44 +3,52 @@
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="card-panel-icon-wrapper icon-people">
<svg-icon icon-class="today" class-name="card-panel-icon" />
<svg-icon icon-class="peoples" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">今日成交额</div>
<count-to :start-val="0" :end-val="count.todayPrice" :duration="2600" class="card-panel-num" />
<div class="card-panel-text">
会员总数
</div>
<count-to :start-val="0" :end-val="count.userCount" :duration="2600" class="card-panel-num" />
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="card-panel-icon-wrapper icon-message">
<svg-icon icon-class="ic-yesterday" class-name="card-panel-icon" />
<svg-icon icon-class="order" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">昨日成交额</div>
<count-to :start-val="0" :end-val="count.proPrice" :duration="3000" class="card-panel-num" />
<div class="card-panel-text">
订单总数
</div>
<count-to :start-val="0" :end-val="count.orderCount" :duration="3000" class="card-panel-num" />
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="card-panel-icon-wrapper icon-money">
<svg-icon icon-class="seven" class-name="card-panel-icon" />
<svg-icon icon-class="money" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">近七天成交额</div>
<count-to :start-val="0" :end-val="count.lastWeekPrice" :duration="3200" class="card-panel-num" />
<div class="card-panel-text">
总金额
</div>
<count-to :start-val="0" :end-val="count.priceCount" :duration="3200" class="card-panel-num" />
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="card-panel" >
<div class="card-panel-icon-wrapper icon-shopping">
<svg-icon icon-class="monthlyview" class-name="card-panel-icon" />
<svg-icon icon-class="shopping" class-name="card-panel-icon" />
</div>
<div class="card-panel-description">
<div class="card-panel-text">本月成交额</div>
<count-to :start-val="0" :end-val="count.monthPrice" :duration="3600" class="card-panel-num" />
<div class="card-panel-text">
商品总数
</div>
<count-to :start-val="0" :end-val="count.goodsCount" :duration="3600" class="card-panel-num" />
</div>
</div>
</el-col>
@ -56,7 +64,8 @@ export default {
data() {
return {
count: { todayPrice: 0, todayCount: 0, proPrice: 0, proCount: 0,
monthPrice: 0, monthCount: 0, lastWeekCount: 0, lastWeekPrice: 0 }
monthPrice: 0, monthCount: 0, lastWeekCount: 0, lastWeekPrice: 0,
userCount: 0, orderCount: 0, priceCount: 0, goodsCount: 0}
}
},
mounted() {
@ -70,64 +79,102 @@ export default {
this.count.monthCount = res.monthCount
this.count.lastWeekCount = res.lastWeekCount
this.count.lastWeekPrice = res.lastWeekPrice
this.count.userCount = res.userCount
this.count.orderCount = res.orderCount
this.count.priceCount = res.priceCount
this.count.goodsCount = res.goodsCount
})
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.panel-group {
margin-top: 18px;
.card-panel-col{
margin-bottom: 32px;
.panel-group {
margin-top: 18px;
.card-panel-col {
margin-bottom: 32px;
}
.card-panel {
height: 108px;
cursor: pointer;
font-size: 12px;
position: relative;
overflow: hidden;
color: #666;
background: #fff;
box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
border-color: rgba(0, 0, 0, .05);
.icon-people {
color: #40c9c6;
}
.icon-message {
color: #36a3f7;
}
.icon-money {
color: #f4516c;
}
.icon-shopping {
color: #34bfa3
}
.card-panel-icon-wrapper {
float: left;
margin: 14px 0 0 14px;
padding: 16px;
transition: all 0.38s ease-out;
border-radius: 6px;
}
.card-panel-icon {
float: left;
font-size: 48px;
}
.card-panel-description {
float: right;
font-weight: bold;
margin: 26px;
margin-left: 0px;
.card-panel-text {
line-height: 18px;
color: rgba(0, 0, 0, 0.45);
font-size: 16px;
margin-bottom: 12px;
}
.card-panel-num {
font-size: 20px;
}
}
}
}
.card-panel {
height: 108px;
font-size: 12px;
position: relative;
overflow: hidden;
color: #666;
background: #fff;
box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
border-color: rgba(0, 0, 0, .05);
.icon-people {
color: #40c9c6;
}
.icon-message {
color: #36a3f7;
}
.icon-money {
color: #f4516c;
}
.icon-shopping {
color: #34bfa3
}
.card-panel-icon-wrapper {
float: left;
margin: 14px 0 0 14px;
padding: 16px;
transition: all 0.38s ease-out;
border-radius: 6px;
}
.card-panel-icon {
float: left;
font-size: 48px;
}
@media (max-width:550px) {
.card-panel-description {
float: right;
font-weight: bold;
margin: 26px;
margin-left: 0px;
.card-panel-text {
line-height: 18px;
color: rgba(0, 0, 0, 0.45);
font-size: 16px;
margin-bottom: 12px;
}
.card-panel-num {
font-size: 20px;
display: none;
}
.card-panel-icon-wrapper {
float: none !important;
width: 100%;
height: 100%;
margin: 0 !important;
.svg-icon {
display: block;
margin: 14px auto !important;
float: none !important;
}
}
}
}
</style>

View File

@ -86,10 +86,14 @@ export default {
font-size: 12px;
position: relative;
overflow: hidden;
cursor: pointer;
color: #666;
background: #fff;
box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
border-color: rgba(0, 0, 0, .05);
.icon-people {
color: #40c9c6;
}

View File

@ -30,7 +30,7 @@
<span style="font-weight: bolder">github</span><a target="_blank" href="https://github.com/guchengwuyue/yshopmall">访问github</a>
</div>
<div class="text item">
<span style="font-weight: bolder">公众号演示</span><img width="100" height="100" src="https://image.dayouqiantu.cn/qrcode_for_gh_95df5a2881cc_258.jpg">
<span style="font-weight: bolder">公众号演示</span><img width="100" height="100" src="https://image.dayouqiantu.cn/5e79f9ff4c694.jpg">
</div>
<div class="text item">
<span style="font-weight: bolder">小程序演示</span>关注上面公众号之后选择yshop小程序体验即可
@ -40,7 +40,7 @@
<span style="font-weight: bolder">H5测试号</span>hupeng/123456,也可以自行注册
</div>
<div class="text item">
<span style="font-weight: bolder;color: red">如果想体验手机端商户管理与订单核销功能记得去后台会员管理搜索找到自己
<span style="font-weight: bolder;color: red">如果想体验手机端商户管理功能记得去后台会员管理搜索找到自己
然后编辑设置商户管理员开启即可然后刷新个人中心即可体验</span>
</div>
</el-card>
@ -62,20 +62,31 @@
</div>
<div class="text item">
1VIP为终身制包括JAVA端+H5公众号端后期免费升级迭代及其技术支持<br>
2价格vip会员价298(JAVA+H5+公众号版)后续的系统升级vip价格会有相应的调整的所以早上车更优惠哦<br>
2价格vip会员价299(JAVA+H5+公众号版)后续的系统升级vip价格会有相应的调整的所以早上车更优惠哦<br>
3VIP购买淘宝地址https://item.taobao.com/item.htm?id=607532386325<br>
4加入vip群931426444,请输入你的淘宝订单编号即可入群<br>
5群里面获取私服git<br>
6如果需要小程序需要单独购买看下面<br>
7此套餐必须购买才能进VIP会员群<br>
</div>
<div class="text item">
<span style="font-weight: bolder">VIP版如果需要小程序需要另外单独购买</span>
<span style="font-weight: bolder">VIP版如果需要小程序需要另外单独购买</span>
</div>
<div class="text item">
1小程序是mpvue2.0框架开发<br>
2价格100只是单独的小程序购买小程序请务必要购买上面VIP套餐<br>
3购买淘宝地址https://item.taobao.com/item.htm?id=612007949053<br>
4群里面获取私服git<br>
5可选<br>
</div>
<div class="text item">
<span style="font-weight: bolder">VIP版如果需要uniapp端另外单独购买</span>
</div>
<div class="text item">
1uniapp目前已经基本开发完成预计于2.1版本一块发布<br>
2uniapp目前支持打包微信小程序与APP(包括安卓Android与苹果IOS)<br>
3uniapp目前只针对会员预售而且预售阶段是有优惠的哦<br>
4可选<br>
</div>
</el-card>
</div>
@ -87,22 +98,49 @@
<span style="font-weight: bolder">更新日志</span>
</div>
<div class="text item">
<span style="font-weight: bolder">预计4月发布yshop2.1版本 更新如下</span>
<span style="font-weight: bolder">预计4月发布yshop2.1版本(已上演示版的公众号/H5版本) 更新如下</span>
</div>
<div class="text item">
1单门店升级为多门店
1单门店升级为多门店
</div>
<div class="text item">
2充值增充值方案
2充值增充值方案
</div>
<div class="text item">
3打通小程序与公众号账号
</div>
<div class="text item">
4新增微信app支付主要用于uniapp
4新增微信app支付
</div>
<div class="text item">
5修复
5会员等级升级新增手动解锁
</div>
<div class="text item">
6app分销海报与商品详情海报新增了邀请码
</div>
<div class="text item">
7app注册新增了邀请码形成分销关系
</div>
<div class="text item">
8后台素材按照时间排序#I1C6MK
</div>
<div class="text item">
9商品分类新增判断自己不能选择自己作为父级#I1C5AP
</div>
<div class="text item">
10修复订单详情昵称不显示问题#I1C055
</div>
<div class="text item">
11修复导入微信地址必须要刷新的问题#I1CCEJ
</div>
<div class="text item">
12修复当设置最大抵扣积为0的导致积分不能抵扣的问题
</div>
<div class="text item">
13优化订单详情腾讯key的提示
</div>
<div class="text item">
14优化订单列表新增门店标识
</div>
<div class="text item">
<span style="font-weight: bolder">2020-03-152.0.X修复优化版本 发布更新如下</span>