Browse Source

yshop2.1

master
hupeng 5 years ago
parent
commit
b944b2b2d1
  1. 2
      src/api/monitor/visits.js
  2. 7
      src/api/visits.js
  3. 7
      src/api/yxSystemGroupData.js
  4. 9
      src/api/yxSystemStore.js
  5. 1
      src/assets/icons/svg/orderinfo.svg
  6. 1
      src/assets/icons/svg/shopping.svg
  7. BIN
      src/assets/images/logo.png
  8. 27
      src/views/activity/seckill/form.vue
  9. 3
      src/views/activity/seckill/index.vue
  10. 13
      src/views/components/user/index.vue
  11. 87
      src/views/dashboard/OrderCount.vue
  12. 169
      src/views/dashboard/PanelGroup.vue
  13. 4
      src/views/dashboard/PanelGroupT.vue
  14. 56
      src/views/dashboard/YshopInfo.vue
  15. 13
      src/views/home.vue
  16. 2
      src/views/shop/goods/index.vue
  17. 2
      src/views/shop/goods/index2.vue
  18. 2
      src/views/shop/goods/index3.vue
  19. 17
      src/views/shop/order/indext.vue
  20. 4
      src/views/shop/reply/index.vue
  21. 2
      src/views/shop/set/act.vue
  22. 4
      src/views/shop/set/actform.vue
  23. 4
      src/views/shop/set/form.vue
  24. 2
      src/views/shop/set/hot.vue
  25. 4
      src/views/shop/set/hotform.vue
  26. 2
      src/views/shop/set/index.vue
  27. 2
      src/views/shop/set/menu.vue
  28. 4
      src/views/shop/set/menuform.vue
  29. 6
      src/views/shop/set/recharge.vue
  30. 4
      src/views/shop/set/rechargeform.vue
  31. 2
      src/views/shop/set/roll.vue
  32. 4
      src/views/shop/set/rollform.vue
  33. 2
      src/views/shop/set/seckill.vue
  34. 4
      src/views/shop/set/seckillform.vue
  35. 2
      src/views/shop/set/sign.vue
  36. 4
      src/views/shop/set/signform.vue
  37. 2
      src/views/shop/set/usermenu.vue
  38. 4
      src/views/shop/set/usermenuform.vue
  39. 2
      src/views/shop/store/index.vue
  40. 2
      src/views/shop/storestaff/index.vue
  41. 9
      src/views/wechat/config/pay.vue

2
src/api/monitor/visits.js

@ -20,3 +20,5 @@ export function getChartData() {
method: 'get'
})
}

7
src/api/visits.js

@ -34,3 +34,10 @@ export function chart() {
method: 'get'
})
}
export function getOrderCount() {
return request({
url: 'api/yxStoreOrder/orderCount',
method: 'get'
})
}

7
src/api/yxSystemGroupData.js

@ -22,3 +22,10 @@ export function edit(data) {
data
})
}
export function get() {
return request({
url: 'api/yxSystemGroupData',
method: 'get'
})
}

9
src/api/yxSystemStore.js

@ -15,6 +15,13 @@ export function get() {
})
}
export function getAll() {
return request({
url: 'api/yxSystemStore/all',
method: 'get'
})
}
export function getL(data) {
return request({
url: 'api/yxSystemStore/getL',
@ -39,4 +46,4 @@ export function edit(data) {
})
}
export default { getL, add, edit, del, get }
export default { getL, add, edit, del, get, getAll }

1
src/assets/icons/svg/orderinfo.svg

@ -0,0 +1 @@
<svg t="1585887096878" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2475" width="200" height="200"><path d="M749.010 972.915h-474.022c-79.501 0-144.179-64.678-144.179-144.179v-612.227c0-79.501 64.678-144.179 144.179-144.179h61.891c24.129 0 43.691 19.562 43.691 43.691 0 24.13-19.562 43.691-43.691 43.691h-61.891c-31.317 0-56.798 25.479-56.798 56.798v612.227c0 31.318 25.481 56.798 56.798 56.798h474.022c31.318 0 56.798-25.479 56.798-56.798v-612.227c0-31.318-25.479-56.798-56.798-56.798h-61.891c-24.129 0-43.691-19.561-43.691-43.691 0-24.129 19.562-43.691 43.691-43.691h61.891c79.501 0 144.179 64.678 144.179 144.179v612.227c0 79.501-64.678 144.179-144.179 144.179z" fill="#2c2c2c" p-id="2476"></path><path d="M564.060 181.556h-104.123c-36.195 0-65.536-29.341-65.536-65.536s29.341-65.536 65.536-65.536h104.123c36.195 0 65.536 29.341 65.536 65.536s-29.341 65.536-65.536 65.536zM679.372 402.192h-334.743c-24.129 0-43.691-19.562-43.691-43.691s19.562-43.691 43.691-43.691h334.743c24.129 0 43.691 19.562 43.691 43.691s-19.562 43.691-43.691 43.691zM679.372 573.669h-334.743c-24.129 0-43.691-19.562-43.691-43.691s19.562-43.691 43.691-43.691h334.743c24.129 0 43.691 19.562 43.691 43.691s-19.562 43.691-43.691 43.691zM679.372 745.147h-334.743c-24.129 0-43.691-19.562-43.691-43.691s19.562-43.691 43.691-43.691h334.743c24.129 0 43.691 19.562 43.691 43.691s-19.562 43.691-43.691 43.691z"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

1
src/assets/icons/svg/shopping.svg

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/images/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 13 KiB

27
src/views/activity/seckill/form.vue

@ -14,7 +14,7 @@
<template>
<el-date-picker
v-model="form.startTimeDate"
type="datetime"
type="date"
placeholder="选择日期时间"
/>
</template>
@ -23,11 +23,21 @@
<template>
<el-date-picker
v-model="form.endTimeDate"
type="datetime"
type="date"
placeholder="选择日期时间"
/>
</template>
</el-form-item>
<el-form-item label="开始时间" prop="storeId">
<el-select v-model="form.timeId" style="width: 178px" placeholder="请先选择开始时间">
<el-option
v-for="(item, index) in myTimes"
:key="index"
:label="item.map.time + '点开始,持续' + item.map.continued + '小时'"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="产品主图片">
<MaterialList v-model="form.imageArr" style="width: 500px" type="image" :num="1" :width="150" :height="150" />
</el-form-item>
@ -79,6 +89,7 @@
<script>
import { add, edit } from '@/api/yxStoreSeckill'
import { initData } from '@/api/data'
import editor from '../../components/Editor'
import MaterialList from '@/components/material'
export default {
@ -91,7 +102,7 @@ export default {
},
data() {
return {
loading: false, dialog: false,
loading: false, dialog: false, myTimes: [],
form: {
id: '',
productId: '',
@ -121,7 +132,8 @@ export default {
num: '',
isShow: '',
startTimeDate: '',
endTimeDate: ''
endTimeDate: '',
timeId: null
},
rules: {
}
@ -139,6 +151,13 @@ export default {
}
}
},
mounted() {
console.log('9999')
initData('api/yxSystemGroupData',{ groupName: 'yshop_seckill_time' }).then(res => {
//console.log(res.content)
this.myTimes = res.content
})
},
methods: {
cancel() {
this.resetForm()

3
src/views/activity/seckill/index.vue

@ -163,7 +163,8 @@ export default {
isHot: data.isHot,
isDel: data.isDel,
num: data.num,
isShow: data.isShow
isShow: data.isShow,
timeId: data.timeId
}
_this.dialog = true
}

13
src/views/shop/storestaff/user.vue → src/views/components/user/index.vue

@ -1,10 +1,6 @@
<template>
<div>
<div v-if="value.uid">
<!--<img :src="value.avatar" alt="" class="el-upload-list__item-thumbnail">-->
<!--<span class="el-upload-list__item-delete" @click="deleteMaterial(index)">-->
<!--<i class="el-icon-delete" />-->
<!--</span>-->
<ul class="el-upload-list el-upload-list--picture-card">
<li tabindex="0" class="el-upload-list__item is-ready">
<div>
@ -51,6 +47,15 @@
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号码" />
<el-table-column label="用户来源" align="center">
<template slot-scope="scope">
<div>
<el-tag v-if="scope.row.userType == 'wechat'">公众号</el-tag>
<el-tag v-else-if="scope.row.userType == 'routine'">小程序</el-tag>
<el-tag v-else>H5</el-tag>
</div>
</template>
</el-table-column>
<el-table-column v-if="checkPermission(['admin','YXUSER_ALL','YXUSER_EDIT','YXUSER_DELETE'])" label="操作" width="185" align="center" fixed="right">
<template slot-scope="scope">
<el-button

87
src/views/dashboard/OrderCount.vue

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

169
src/views/dashboard/PanelGroup.vue

@ -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;
}
.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;
.panel-group {
margin-top: 18px;
.card-panel-col {
margin-bottom: 32px;
}
.icon-money {
color: #f4516c;
.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;
}
}
}
.icon-shopping {
color: #34bfa3
}
@media (max-width:550px) {
.card-panel-description {
display: none;
}
.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;
float: none !important;
width: 100%;
height: 100%;
margin: 0 !important;
.svg-icon {
display: block;
margin: 14px auto !important;
float: none !important;
}
}
}
}
</style>

4
src/views/dashboard/PanelGroupT.vue

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

56
src/views/dashboard/YshopInfo.vue

@ -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会员等级升级新增手动解锁
</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">
5修复
14优化订单列表新增门店标识
</div>
<div class="text item">
<span style="font-weight: bolder">2020-03-152.0.X修复优化版本 发布更新如下</span>

13
src/views/home.vue

@ -1,19 +1,22 @@
<template>
<div class="dashboard-container">
<div class="dashboard-editor-container">
<yshop-info />
<!--<yshop-info />-->
<panel-group />
<panel-group-t />
<el-row :gutter="32">
<el-col :xs="24" :sm="24" :lg="12">
<el-col :xs="16" :sm="16" :lg="8">
<order-count></order-count>
</el-col>
<el-col :xs="16" :sm="16" :lg="8">
<div class="chart-wrapper">
<p>本月成交额</p>
<bar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="12">
<el-col :xs="16" :sm="16" :lg="8">
<div class="chart-wrapper">
<p>本月订单数</p>
<pie-chart />
@ -33,6 +36,7 @@ import PieChart from './dashboard/BarChartT'
import BarChart from './dashboard/BarChart'
import { count } from '@/api/visits'
import YshopInfo from './dashboard/YshopInfo'
import OrderCount from './dashboard/OrderCount'
/**
* 记录访问只有页面刷新或者第一次加载才会记录
@ -47,7 +51,8 @@ export default {
PanelGroupT,
PieChart,
BarChart,
YshopInfo
YshopInfo,
OrderCount
},
computed: {
...mapGetters([

2
src/views/shop/goods/index.vue

@ -41,7 +41,7 @@
</template>
</el-table-column>
<el-table-column prop="storeName" label="商品名称" />
<el-table-column prop="cateName" label="分类名称" />
<el-table-column prop="storeCategory.cateName" label="分类名称" />
<el-table-column prop="price" label="商品价格" />
<el-table-column prop="sales" label="销量" />
<el-table-column prop="stock" label="库存" />

2
src/views/shop/goods/index2.vue

@ -28,7 +28,7 @@
</template>
</el-table-column>
<el-table-column prop="storeName" label="商品名称" />
<el-table-column prop="cateName" label="分类名称" />
<el-table-column prop="storeCategory.cateName" label="分类名称" />
<el-table-column prop="price" label="商品价格" />
<el-table-column prop="sales" label="销量" />
<el-table-column prop="stock" label="库存" />

2
src/views/shop/goods/index3.vue

@ -28,7 +28,7 @@
</template>
</el-table-column>
<el-table-column prop="storeName" label="商品名称" />
<el-table-column prop="cateName" label="分类名称" />
<el-table-column prop="storeCategory.cateName" label="分类名称" />
<el-table-column prop="price" label="商品价格" />
<el-table-column prop="sales" label="销量" />
<el-table-column prop="stock" label="库存" />

17
src/views/shop/order/indext.vue

@ -34,6 +34,9 @@
<el-select v-model="query.type" clearable placeholder="类型" class="filter-item" style="width: 130px">
<el-option v-for="item in queryTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
</el-select>
<el-select v-model="storeId" clearable placeholder="选择门店" class="filter-item" style="width: 130px">
<el-option v-for="item in storeList" :key="item.key" :label="item.name" :value="item.id" />
</el-select>
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="toQuery">搜索</el-button>
<el-button
type="danger"
@ -53,7 +56,8 @@
<eRemark ref="form4" :is-add="isAdd" />
<!--表格渲染-->
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
<el-table-column prop="orderId" width="140" label="订单号">
<el-table-column prop="storeName" label="所属门店" />
<el-table-column prop="orderId" width="150" label="订单号">
<template slot-scope="scope">
<span>{{ scope.row.orderId }}</span>
<p>{{ scope.row.pinkName }}</p>
@ -181,6 +185,7 @@
import checkPermission from '@/utils/permission'
import initData from '@/mixins/crud'
import { del } from '@/api/yxStoreOrder'
import { getAll } from '@/api/yxSystemStore'
import eForm from './formC'
import eDetail from './detail'
import eRefund from './refund'
@ -192,7 +197,7 @@ export default {
mixins: [initData],
data() {
return {
delLoading: false, status: '-9', orderType: '0',
delLoading: false, status: '-9', orderType: '0', storeList: [] , storeId: null,
queryTypeOptions: [
{ key: 'orderId', display_name: '订单号' },
{ key: 'realName', display_name: '用户姓名' },
@ -215,8 +220,14 @@ export default {
this.$nextTick(() => {
this.init()
})
this.getStoreAll()
},
methods: {
getStoreAll() {
getAll().then(res => {
this.storeList = res
})
},
formatTime,
checkPermission,
handleOrder(tab, event) {
@ -226,7 +237,7 @@ export default {
beforeInit() {
this.url = 'api/yxStoreOrder'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, orderStatus: this.status, orderType: 5 }
this.params = { page: this.page, size: this.size, sort: sort, orderStatus: this.status, orderType: 5, storeId: this.storeId }
const query = this.query
const type = query.type
const value = query.value

4
src/views/shop/reply/index.vue

@ -17,8 +17,8 @@
<!--表格渲染-->
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
<el-table-column prop="id" label="ID" />
<el-table-column prop="username" label="用户" />
<el-table-column prop="productName" label="商品信息" />
<el-table-column prop="user.nickname" label="用户" />
<el-table-column prop="storeProduct.storeName" label="商品信息" />
<el-table-column prop="productScore" label="商品分数" />
<el-table-column prop="serviceScore" label="服务分数" />
<el-table-column prop="comment" label="评论内容" />

2
src/views/shop/set/act.vue

@ -81,7 +81,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_home_activity' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_home_activity' }
return true
},
subDelete(id) {

4
src/views/shop/set/actform.vue

@ -40,7 +40,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_home_activity',
groupName: 'yshop_home_activity',
title: '',
info: '',
url: '',
@ -105,7 +105,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_home_activity',
groupName: 'yshop_home_activity',
value: '',
addTime: '',
sort: '',

4
src/views/shop/set/form.vue

@ -49,7 +49,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_home_banner',
groupName: 'yshop_home_banner',
name: '',
url: '',
wxapp_url: '',
@ -115,7 +115,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_home_banner',
groupName: 'yshop_home_banner',
name: '',
url: '',
wxapp_url: '',

2
src/views/shop/set/hot.vue

@ -83,7 +83,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_hot_search' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_hot_search' }
return true
},
subDelete(id) {

4
src/views/shop/set/hotform.vue

@ -36,7 +36,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_hot_search',
groupName: 'yshop_hot_search',
title: '',
sort: 0,
status: 1
@ -90,7 +90,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_hot_search',
groupName: 'yshop_hot_search',
title: '',
sort: 0,
status: 1

2
src/views/shop/set/index.vue

@ -91,7 +91,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_home_banner' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_home_banner' }
return true
},
subDelete(id) {

2
src/views/shop/set/menu.vue

@ -91,7 +91,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_home_menus' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_home_menus' }
return true
},
subDelete(id) {

4
src/views/shop/set/menuform.vue

@ -49,7 +49,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_home_menus',
groupName: 'yshop_home_menus',
name: '',
url: '',
wxapp_url: '',
@ -115,7 +115,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_home_menus',
groupName: 'yshop_home_menus',
name: '',
url: '',
wxapp_url: '',

6
src/views/shop/set/recharge.vue

@ -84,7 +84,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'recharge_price_ways' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_recharge_price_ways' }
return true
},
subDelete(id) {
@ -115,8 +115,8 @@ export default {
_this.form = {
id: data.id,
groupName: data.groupName,
day: data.map.day,
sign_num: data.map.sign_num,
give_price: data.map.give_price,
price: data.map.price,
sort: data.sort,
status: data.status
}

4
src/views/shop/set/rechargeform.vue

@ -39,7 +39,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'recharge_price_ways',
groupName: 'yshop_recharge_price_ways',
price: 1,
give_price: 0,
sort: 0,
@ -94,7 +94,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'recharge_price_ways',
groupName: 'yshop_recharge_price_ways',
price: 1,
give_price: 0,
sort: 0,

2
src/views/shop/set/roll.vue

@ -86,7 +86,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_home_roll_news' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_home_roll_news' }
return true
},
subDelete(id) {

4
src/views/shop/set/rollform.vue

@ -45,7 +45,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_home_roll_news',
groupName: 'yshop_home_roll_news',
info: '',
wxapp_url: '',
uniapp_url: '',
@ -102,7 +102,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_home_roll_news',
groupName: 'yshop_home_roll_news',
info: '',
wxapp_url: '',
uniapp_url: '',

2
src/views/shop/set/seckill.vue

@ -75,7 +75,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_seckill_time' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_seckill_time' }
return true
},
subDelete(id) {

4
src/views/shop/set/seckillform.vue

@ -32,7 +32,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_seckill_time',
groupName: 'yshop_seckill_time',
time: 5,
continued: 2
},
@ -85,7 +85,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_seckill_time',
groupName: 'yshop_seckill_time',
time: 5,
continued: 2
}

2
src/views/shop/set/sign.vue

@ -84,7 +84,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'sign_day_num' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_sign_day_num' }
return true
},
subDelete(id) {

4
src/views/shop/set/signform.vue

@ -39,7 +39,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'sign_day_num',
groupName: 'yshop_sign_day_num',
day: 1,
sign_num: 0,
sort: 0,
@ -94,7 +94,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'sign_day_num',
groupName: 'yshop_sign_day_num',
day: 1,
sign_num: 0,
sort: 0,

2
src/views/shop/set/usermenu.vue

@ -93,7 +93,7 @@ export default {
beforeInit() {
this.url = 'api/yxSystemGroupData'
const sort = 'id,desc'
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'routine_my_menus' }
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'yshop_my_menus' }
return true
},
subDelete(id) {

4
src/views/shop/set/usermenuform.vue

@ -49,7 +49,7 @@ export default {
loading: false, dialog: false,
form: {
id: '',
groupName: 'routine_my_menus',
groupName: 'yshop_my_menus',
name: '',
url: '',
wxapp_url: '',
@ -115,7 +115,7 @@ export default {
this.$refs['form'].resetFields()
this.form = {
id: '',
groupName: 'routine_my_menus',
groupName: 'yshop_my_menus',
name: '',
url: '',
wxapp_url: '',

2
src/views/shop/store/index.vue

@ -114,7 +114,7 @@
// crudpresenter
const defaultCrud = CRUD({ title: '门店', url: 'api/yxSystemStore', sort: 'id,desc', crudMethod: { ...crudYxSystemStore }})
const defaultForm = { id: null, name: null, introduction: null, phone: null, address: null, detailedAddress: null, image: null, latitude:
null, longitude: null, validTime: null, dayTime: null, addTime: null, isShow: 1, imageArr: [], validTimeArr: [], dayTimeArr: [] }
null, longitude: null, validTime: null, dayTime: null, addTime: null, isShow: 1, imageArr: [], validTimeArr: [], dayTimeArr: [new Date(),new Date()] }
export default {
name: 'YxSystemStore',
components: { pagination, crudOperation, rrOperation, udOperation, MaterialList },

2
src/views/shop/storestaff/index.vue

@ -93,7 +93,7 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import cuser from './user'
import cuser from '@/views/components/user'
import crudYxSystemStore from '@/api/yxSystemStore'
// crudpresenter

9
src/views/wechat/config/pay.vue

@ -1,9 +1,10 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
<!--<el-form-item label="AppID">-->
<!--<el-input v-model="form.wxpay_appId" style="width: 370px;" />-->
<!--</el-form-item>-->
<el-form-item label="微信APP支付AppID">
<el-input v-model="form.wx_native_app_appId" style="width: 370px;" />
<p style="color: red">微信开放平台审核通过的应用APPID请登录open.weixin.qq.com查看注意与公众号的APPID不同</p>
</el-form-item>
<el-form-item label="商户id">
<el-input v-model="form.wxpay_mchId" style="width: 370px;" type="password" />
</el-form-item>
@ -37,7 +38,7 @@ export default {
return {
delLoading: false,
form: {
//wxpay_appId: '',
wx_native_app_appId: '',
wxpay_mchId: '',
wxpay_mchKey: '',
wxpay_keyPath: ''

Loading…
Cancel
Save