yshop2.1
This commit is contained in:
@ -20,3 +20,5 @@ export function getChartData() {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,3 +34,10 @@ export function chart() {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getOrderCount() {
|
||||||
|
return request({
|
||||||
|
url: 'api/yxStoreOrder/orderCount',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -22,3 +22,10 @@ export function edit(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function get() {
|
||||||
|
return request({
|
||||||
|
url: 'api/yxSystemGroupData',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -15,6 +15,13 @@ export function get() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getAll() {
|
||||||
|
return request({
|
||||||
|
url: 'api/yxSystemStore/all',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export function getL(data) {
|
export function getL(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/yxSystemStore/getL',
|
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
Normal file
1
src/assets/icons/svg/orderinfo.svg
Normal file
@ -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
Normal file
1
src/assets/icons/svg/shopping.svg
Normal file
@ -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 |
Binary file not shown.
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 13 KiB |
@ -14,7 +14,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.startTimeDate"
|
v-model="form.startTimeDate"
|
||||||
type="datetime"
|
type="date"
|
||||||
placeholder="选择日期时间"
|
placeholder="选择日期时间"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -23,11 +23,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.endTimeDate"
|
v-model="form.endTimeDate"
|
||||||
type="datetime"
|
type="date"
|
||||||
placeholder="选择日期时间"
|
placeholder="选择日期时间"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-form-item>
|
</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="产品主图片">
|
<el-form-item label="产品主图片">
|
||||||
<MaterialList v-model="form.imageArr" style="width: 500px" type="image" :num="1" :width="150" :height="150" />
|
<MaterialList v-model="form.imageArr" style="width: 500px" type="image" :num="1" :width="150" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -79,6 +89,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { add, edit } from '@/api/yxStoreSeckill'
|
import { add, edit } from '@/api/yxStoreSeckill'
|
||||||
|
import { initData } from '@/api/data'
|
||||||
import editor from '../../components/Editor'
|
import editor from '../../components/Editor'
|
||||||
import MaterialList from '@/components/material'
|
import MaterialList from '@/components/material'
|
||||||
export default {
|
export default {
|
||||||
@ -91,7 +102,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false, dialog: false,
|
loading: false, dialog: false, myTimes: [],
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
productId: '',
|
productId: '',
|
||||||
@ -121,7 +132,8 @@ export default {
|
|||||||
num: '',
|
num: '',
|
||||||
isShow: '',
|
isShow: '',
|
||||||
startTimeDate: '',
|
startTimeDate: '',
|
||||||
endTimeDate: ''
|
endTimeDate: '',
|
||||||
|
timeId: null
|
||||||
},
|
},
|
||||||
rules: {
|
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: {
|
methods: {
|
||||||
cancel() {
|
cancel() {
|
||||||
this.resetForm()
|
this.resetForm()
|
||||||
|
@ -163,7 +163,8 @@ export default {
|
|||||||
isHot: data.isHot,
|
isHot: data.isHot,
|
||||||
isDel: data.isDel,
|
isDel: data.isDel,
|
||||||
num: data.num,
|
num: data.num,
|
||||||
isShow: data.isShow
|
isShow: data.isShow,
|
||||||
|
timeId: data.timeId
|
||||||
}
|
}
|
||||||
_this.dialog = true
|
_this.dialog = true
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="value.uid">
|
<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">
|
<ul class="el-upload-list el-upload-list--picture-card">
|
||||||
<li tabindex="0" class="el-upload-list__item is-ready">
|
<li tabindex="0" class="el-upload-list__item is-ready">
|
||||||
<div>
|
<div>
|
||||||
@ -51,6 +47,15 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="phone" label="手机号码" />
|
<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">
|
<el-table-column v-if="checkPermission(['admin','YXUSER_ALL','YXUSER_EDIT','YXUSER_DELETE'])" label="操作" width="185" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
87
src/views/dashboard/OrderCount.vue
Normal file
87
src/views/dashboard/OrderCount.vue
Normal 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>
|
@ -3,44 +3,52 @@
|
|||||||
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-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-people">
|
<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>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">今日成交额</div>
|
<div class="card-panel-text">
|
||||||
<count-to :start-val="0" :end-val="count.todayPrice" :duration="2600" class="card-panel-num" />
|
会员总数
|
||||||
|
</div>
|
||||||
|
<count-to :start-val="0" :end-val="count.userCount" :duration="2600" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-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-message">
|
<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>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">昨日成交额</div>
|
<div class="card-panel-text">
|
||||||
<count-to :start-val="0" :end-val="count.proPrice" :duration="3000" class="card-panel-num" />
|
订单总数
|
||||||
|
</div>
|
||||||
|
<count-to :start-val="0" :end-val="count.orderCount" :duration="3000" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-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-money">
|
<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>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">近七天成交额</div>
|
<div class="card-panel-text">
|
||||||
<count-to :start-val="0" :end-val="count.lastWeekPrice" :duration="3200" class="card-panel-num" />
|
总金额
|
||||||
|
</div>
|
||||||
|
<count-to :start-val="0" :end-val="count.priceCount" :duration="3200" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-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">
|
<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>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">本月成交额</div>
|
<div class="card-panel-text">
|
||||||
<count-to :start-val="0" :end-val="count.monthPrice" :duration="3600" class="card-panel-num" />
|
商品总数
|
||||||
|
</div>
|
||||||
|
<count-to :start-val="0" :end-val="count.goodsCount" :duration="3600" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -56,7 +64,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
count: { todayPrice: 0, todayCount: 0, proPrice: 0, proCount: 0,
|
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() {
|
mounted() {
|
||||||
@ -70,64 +79,102 @@ export default {
|
|||||||
this.count.monthCount = res.monthCount
|
this.count.monthCount = res.monthCount
|
||||||
this.count.lastWeekCount = res.lastWeekCount
|
this.count.lastWeekCount = res.lastWeekCount
|
||||||
this.count.lastWeekPrice = res.lastWeekPrice
|
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>
|
</script>
|
||||||
|
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
.panel-group {
|
.panel-group {
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
.card-panel-col{
|
|
||||||
margin-bottom: 32px;
|
.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;
|
@media (max-width:550px) {
|
||||||
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 {
|
.card-panel-description {
|
||||||
float: right;
|
display: none;
|
||||||
font-weight: bold;
|
}
|
||||||
margin: 26px;
|
|
||||||
margin-left: 0px;
|
.card-panel-icon-wrapper {
|
||||||
.card-panel-text {
|
float: none !important;
|
||||||
line-height: 18px;
|
width: 100%;
|
||||||
color: rgba(0, 0, 0, 0.45);
|
height: 100%;
|
||||||
font-size: 16px;
|
margin: 0 !important;
|
||||||
margin-bottom: 12px;
|
|
||||||
}
|
.svg-icon {
|
||||||
.card-panel-num {
|
display: block;
|
||||||
font-size: 20px;
|
margin: 14px auto !important;
|
||||||
|
float: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -86,10 +86,14 @@ export default {
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
color: #666;
|
color: #666;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
|
box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
|
||||||
border-color: rgba(0, 0, 0, .05);
|
border-color: rgba(0, 0, 0, .05);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.icon-people {
|
.icon-people {
|
||||||
color: #40c9c6;
|
color: #40c9c6;
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
<span style="font-weight: bolder">github:</span><a target="_blank" href="https://github.com/guchengwuyue/yshopmall">访问github</a>
|
<span style="font-weight: bolder">github:</span><a target="_blank" href="https://github.com/guchengwuyue/yshopmall">访问github</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<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>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
<span style="font-weight: bolder">小程序演示:</span>关注上面公众号之后,选择yshop小程序体验即可
|
<span style="font-weight: bolder">小程序演示:</span>关注上面公众号之后,选择yshop小程序体验即可
|
||||||
@ -40,7 +40,7 @@
|
|||||||
<span style="font-weight: bolder">H5测试号</span>:hupeng/123456,也可以自行注册
|
<span style="font-weight: bolder">H5测试号</span>:hupeng/123456,也可以自行注册
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
<span style="font-weight: bolder;color: red">如果想体验手机端商户管理与订单核销功能,记得去后台会员管理,搜索找到自己,
|
<span style="font-weight: bolder;color: red">如果想体验手机端商户管理功能,记得去后台会员管理,搜索找到自己,
|
||||||
然后编辑设置商户管理员开启即可,然后刷新个人中心即可体验</span>
|
然后编辑设置商户管理员开启即可,然后刷新个人中心即可体验</span>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -62,20 +62,31 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
1、VIP为终身制包括JAVA端+H5公众号端,后期免费升级迭代及其技术支持。!<br>
|
1、VIP为终身制包括JAVA端+H5公众号端,后期免费升级迭代及其技术支持。!<br>
|
||||||
2、价格:vip会员价298元(JAVA+H5+公众号版),后续的系统升级vip价格会有相应的调整的,所以早上车更优惠哦!<br>
|
2、价格:vip会员价299元(JAVA+H5+公众号版),后续的系统升级vip价格会有相应的调整的,所以早上车更优惠哦!<br>
|
||||||
3、VIP购买淘宝地址:https://item.taobao.com/item.htm?id=607532386325<br>
|
3、VIP购买淘宝地址:https://item.taobao.com/item.htm?id=607532386325<br>
|
||||||
4、加入vip群:931426444,请输入你的淘宝订单编号,即可入群<br>
|
4、加入vip群:931426444,请输入你的淘宝订单编号,即可入群<br>
|
||||||
5、群里面获取私服git<br>
|
5、群里面获取私服git<br>
|
||||||
6、如果需要小程序需要单独购买看下面<br>
|
6、如果需要小程序需要单独购买看下面<br>
|
||||||
|
7、此套餐必须购买才能进VIP会员群<br>
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
<span style="font-weight: bolder">VIP版如果需要小程序需要另外单独购买:</span>
|
<span style="font-weight: bolder">VIP版如果需要小程序端需要另外单独购买:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
1、小程序是mpvue2.0框架开发<br>
|
1、小程序是mpvue2.0框架开发<br>
|
||||||
2、价格:100元,只是单独的小程序!购买小程序请务必要购买上面VIP套餐<br>
|
2、价格:100元,只是单独的小程序!购买小程序请务必要购买上面VIP套餐<br>
|
||||||
3、购买淘宝地址:https://item.taobao.com/item.htm?id=612007949053<br>
|
3、购买淘宝地址:https://item.taobao.com/item.htm?id=612007949053<br>
|
||||||
4、群里面获取私服git<br>
|
4、群里面获取私服git<br>
|
||||||
|
5、可选<br>
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
<span style="font-weight: bolder">VIP版如果需要uniapp端另外单独购买:</span>
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
1、uniapp目前已经基本开发完成,预计于2.1版本一块发布<br>
|
||||||
|
2、uniapp目前支持打包微信小程序与APP(包括安卓Android与苹果IOS)<br>
|
||||||
|
3、uniapp目前只针对会员预售而且预售阶段是有优惠的哦<br>
|
||||||
|
4、可选<br>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
@ -87,22 +98,49 @@
|
|||||||
<span style="font-weight: bolder">更新日志</span>
|
<span style="font-weight: bolder">更新日志</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<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>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
1、单门店升级为多门店
|
1、单门店升级为多门店)
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
2、充值增加充值方案
|
2、充值新增充值方案
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
3、打通小程序与公众号账号
|
3、打通小程序与公众号账号
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
4、新增微信app支付(主要用于uniapp)
|
4、新增微信app支付
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
5、修复。。。。。等
|
5、会员等级升级新增手动解锁
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
6、app分销海报与商品详情海报新增了邀请码
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
7、app注册新增了邀请码形成分销关系)
|
||||||
|
</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>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
<span style="font-weight: bolder">(2020-03-15)2.0.X修复优化版本 发布更新如下:</span>
|
<span style="font-weight: bolder">(2020-03-15)2.0.X修复优化版本 发布更新如下:</span>
|
||||||
|
@ -1,19 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dashboard-container">
|
<div class="dashboard-container">
|
||||||
<div class="dashboard-editor-container">
|
<div class="dashboard-editor-container">
|
||||||
<yshop-info />
|
<!--<yshop-info />-->
|
||||||
<panel-group />
|
<panel-group />
|
||||||
<panel-group-t />
|
<panel-group-t />
|
||||||
|
|
||||||
<el-row :gutter="32">
|
<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">
|
<div class="chart-wrapper">
|
||||||
<p>本月成交额</p>
|
<p>本月成交额</p>
|
||||||
<bar-chart />
|
<bar-chart />
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :lg="12">
|
<el-col :xs="16" :sm="16" :lg="8">
|
||||||
<div class="chart-wrapper">
|
<div class="chart-wrapper">
|
||||||
<p>本月订单数</p>
|
<p>本月订单数</p>
|
||||||
<pie-chart />
|
<pie-chart />
|
||||||
@ -33,6 +36,7 @@ import PieChart from './dashboard/BarChartT'
|
|||||||
import BarChart from './dashboard/BarChart'
|
import BarChart from './dashboard/BarChart'
|
||||||
import { count } from '@/api/visits'
|
import { count } from '@/api/visits'
|
||||||
import YshopInfo from './dashboard/YshopInfo'
|
import YshopInfo from './dashboard/YshopInfo'
|
||||||
|
import OrderCount from './dashboard/OrderCount'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 记录访问,只有页面刷新或者第一次加载才会记录
|
* 记录访问,只有页面刷新或者第一次加载才会记录
|
||||||
@ -47,7 +51,8 @@ export default {
|
|||||||
PanelGroupT,
|
PanelGroupT,
|
||||||
PieChart,
|
PieChart,
|
||||||
BarChart,
|
BarChart,
|
||||||
YshopInfo
|
YshopInfo,
|
||||||
|
OrderCount
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storeName" label="商品名称" />
|
<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="price" label="商品价格" />
|
||||||
<el-table-column prop="sales" label="销量" />
|
<el-table-column prop="sales" label="销量" />
|
||||||
<el-table-column prop="stock" label="库存" />
|
<el-table-column prop="stock" label="库存" />
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storeName" label="商品名称" />
|
<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="price" label="商品价格" />
|
||||||
<el-table-column prop="sales" label="销量" />
|
<el-table-column prop="sales" label="销量" />
|
||||||
<el-table-column prop="stock" label="库存" />
|
<el-table-column prop="stock" label="库存" />
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storeName" label="商品名称" />
|
<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="price" label="商品价格" />
|
||||||
<el-table-column prop="sales" label="销量" />
|
<el-table-column prop="sales" label="销量" />
|
||||||
<el-table-column prop="stock" label="库存" />
|
<el-table-column prop="stock" label="库存" />
|
||||||
|
@ -34,6 +34,9 @@
|
|||||||
<el-select v-model="query.type" clearable placeholder="类型" class="filter-item" style="width: 130px">
|
<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-option v-for="item in queryTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
|
||||||
</el-select>
|
</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 class="filter-item" size="mini" type="success" icon="el-icon-search" @click="toQuery">搜索</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
@ -53,7 +56,8 @@
|
|||||||
<eRemark ref="form4" :is-add="isAdd" />
|
<eRemark ref="form4" :is-add="isAdd" />
|
||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
<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">
|
<template slot-scope="scope">
|
||||||
<span>{{ scope.row.orderId }}</span>
|
<span>{{ scope.row.orderId }}</span>
|
||||||
<p>{{ scope.row.pinkName }}</p>
|
<p>{{ scope.row.pinkName }}</p>
|
||||||
@ -181,6 +185,7 @@
|
|||||||
import checkPermission from '@/utils/permission'
|
import checkPermission from '@/utils/permission'
|
||||||
import initData from '@/mixins/crud'
|
import initData from '@/mixins/crud'
|
||||||
import { del } from '@/api/yxStoreOrder'
|
import { del } from '@/api/yxStoreOrder'
|
||||||
|
import { getAll } from '@/api/yxSystemStore'
|
||||||
import eForm from './formC'
|
import eForm from './formC'
|
||||||
import eDetail from './detail'
|
import eDetail from './detail'
|
||||||
import eRefund from './refund'
|
import eRefund from './refund'
|
||||||
@ -192,7 +197,7 @@ export default {
|
|||||||
mixins: [initData],
|
mixins: [initData],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
delLoading: false, status: '-9', orderType: '0',
|
delLoading: false, status: '-9', orderType: '0', storeList: [] , storeId: null,
|
||||||
queryTypeOptions: [
|
queryTypeOptions: [
|
||||||
{ key: 'orderId', display_name: '订单号' },
|
{ key: 'orderId', display_name: '订单号' },
|
||||||
{ key: 'realName', display_name: '用户姓名' },
|
{ key: 'realName', display_name: '用户姓名' },
|
||||||
@ -215,8 +220,14 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.init()
|
this.init()
|
||||||
})
|
})
|
||||||
|
this.getStoreAll()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getStoreAll() {
|
||||||
|
getAll().then(res => {
|
||||||
|
this.storeList = res
|
||||||
|
})
|
||||||
|
},
|
||||||
formatTime,
|
formatTime,
|
||||||
checkPermission,
|
checkPermission,
|
||||||
handleOrder(tab, event) {
|
handleOrder(tab, event) {
|
||||||
@ -226,7 +237,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxStoreOrder'
|
this.url = 'api/yxStoreOrder'
|
||||||
const sort = 'id,desc'
|
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 query = this.query
|
||||||
const type = query.type
|
const type = query.type
|
||||||
const value = query.value
|
const value = query.value
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
||||||
<el-table-column prop="id" label="ID" />
|
<el-table-column prop="id" label="ID" />
|
||||||
<el-table-column prop="username" label="用户" />
|
<el-table-column prop="user.nickname" label="用户" />
|
||||||
<el-table-column prop="productName" label="商品信息" />
|
<el-table-column prop="storeProduct.storeName" label="商品信息" />
|
||||||
<el-table-column prop="productScore" label="商品分数" />
|
<el-table-column prop="productScore" label="商品分数" />
|
||||||
<el-table-column prop="serviceScore" label="服务分数" />
|
<el-table-column prop="serviceScore" label="服务分数" />
|
||||||
<el-table-column prop="comment" label="评论内容" />
|
<el-table-column prop="comment" label="评论内容" />
|
||||||
|
@ -81,7 +81,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -40,7 +40,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_activity',
|
groupName: 'yshop_home_activity',
|
||||||
title: '',
|
title: '',
|
||||||
info: '',
|
info: '',
|
||||||
url: '',
|
url: '',
|
||||||
@ -105,7 +105,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_activity',
|
groupName: 'yshop_home_activity',
|
||||||
value: '',
|
value: '',
|
||||||
addTime: '',
|
addTime: '',
|
||||||
sort: '',
|
sort: '',
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_banner',
|
groupName: 'yshop_home_banner',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
@ -115,7 +115,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_banner',
|
groupName: 'yshop_home_banner',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
@ -83,7 +83,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -36,7 +36,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_hot_search',
|
groupName: 'yshop_hot_search',
|
||||||
title: '',
|
title: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
status: 1
|
status: 1
|
||||||
@ -90,7 +90,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_hot_search',
|
groupName: 'yshop_hot_search',
|
||||||
title: '',
|
title: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
status: 1
|
status: 1
|
||||||
|
@ -91,7 +91,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -91,7 +91,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_menus',
|
groupName: 'yshop_home_menus',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
@ -115,7 +115,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_menus',
|
groupName: 'yshop_home_menus',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
@ -84,7 +84,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
@ -115,8 +115,8 @@ export default {
|
|||||||
_this.form = {
|
_this.form = {
|
||||||
id: data.id,
|
id: data.id,
|
||||||
groupName: data.groupName,
|
groupName: data.groupName,
|
||||||
day: data.map.day,
|
give_price: data.map.give_price,
|
||||||
sign_num: data.map.sign_num,
|
price: data.map.price,
|
||||||
sort: data.sort,
|
sort: data.sort,
|
||||||
status: data.status
|
status: data.status
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'recharge_price_ways',
|
groupName: 'yshop_recharge_price_ways',
|
||||||
price: 1,
|
price: 1,
|
||||||
give_price: 0,
|
give_price: 0,
|
||||||
sort: 0,
|
sort: 0,
|
||||||
@ -94,7 +94,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'recharge_price_ways',
|
groupName: 'yshop_recharge_price_ways',
|
||||||
price: 1,
|
price: 1,
|
||||||
give_price: 0,
|
give_price: 0,
|
||||||
sort: 0,
|
sort: 0,
|
||||||
|
@ -86,7 +86,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -45,7 +45,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_roll_news',
|
groupName: 'yshop_home_roll_news',
|
||||||
info: '',
|
info: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
uniapp_url: '',
|
uniapp_url: '',
|
||||||
@ -102,7 +102,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_home_roll_news',
|
groupName: 'yshop_home_roll_news',
|
||||||
info: '',
|
info: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
uniapp_url: '',
|
uniapp_url: '',
|
||||||
|
@ -75,7 +75,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -32,7 +32,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_seckill_time',
|
groupName: 'yshop_seckill_time',
|
||||||
time: 5,
|
time: 5,
|
||||||
continued: 2
|
continued: 2
|
||||||
},
|
},
|
||||||
@ -85,7 +85,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_seckill_time',
|
groupName: 'yshop_seckill_time',
|
||||||
time: 5,
|
time: 5,
|
||||||
continued: 2
|
continued: 2
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -39,7 +39,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'sign_day_num',
|
groupName: 'yshop_sign_day_num',
|
||||||
day: 1,
|
day: 1,
|
||||||
sign_num: 0,
|
sign_num: 0,
|
||||||
sort: 0,
|
sort: 0,
|
||||||
@ -94,7 +94,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'sign_day_num',
|
groupName: 'yshop_sign_day_num',
|
||||||
day: 1,
|
day: 1,
|
||||||
sign_num: 0,
|
sign_num: 0,
|
||||||
sort: 0,
|
sort: 0,
|
||||||
|
@ -93,7 +93,7 @@ export default {
|
|||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'api/yxSystemGroupData'
|
this.url = 'api/yxSystemGroupData'
|
||||||
const sort = 'id,desc'
|
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
|
return true
|
||||||
},
|
},
|
||||||
subDelete(id) {
|
subDelete(id) {
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
|||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_my_menus',
|
groupName: 'yshop_my_menus',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
@ -115,7 +115,7 @@ export default {
|
|||||||
this.$refs['form'].resetFields()
|
this.$refs['form'].resetFields()
|
||||||
this.form = {
|
this.form = {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'routine_my_menus',
|
groupName: 'yshop_my_menus',
|
||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
// crud交由presenter持有
|
// crud交由presenter持有
|
||||||
const defaultCrud = CRUD({ title: '门店', url: 'api/yxSystemStore', sort: 'id,desc', crudMethod: { ...crudYxSystemStore }})
|
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:
|
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 {
|
export default {
|
||||||
name: 'YxSystemStore',
|
name: 'YxSystemStore',
|
||||||
components: { pagination, crudOperation, rrOperation, udOperation, MaterialList },
|
components: { pagination, crudOperation, rrOperation, udOperation, MaterialList },
|
||||||
|
@ -93,7 +93,7 @@ import rrOperation from '@crud/RR.operation'
|
|||||||
import crudOperation from '@crud/CRUD.operation'
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
import udOperation from '@crud/UD.operation'
|
import udOperation from '@crud/UD.operation'
|
||||||
import pagination from '@crud/Pagination'
|
import pagination from '@crud/Pagination'
|
||||||
import cuser from './user'
|
import cuser from '@/views/components/user'
|
||||||
import crudYxSystemStore from '@/api/yxSystemStore'
|
import crudYxSystemStore from '@/api/yxSystemStore'
|
||||||
|
|
||||||
// crud交由presenter持有
|
// crud交由presenter持有
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
||||||
<!--<el-form-item label="AppID">-->
|
<el-form-item label="微信APP支付AppID">
|
||||||
<!--<el-input v-model="form.wxpay_appId" style="width: 370px;" />-->
|
<el-input v-model="form.wx_native_app_appId" style="width: 370px;" />
|
||||||
<!--</el-form-item>-->
|
<p style="color: red">微信开放平台审核通过的应用APPID(请登录open.weixin.qq.com查看,注意与公众号的APPID不同)</p>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="商户id">
|
<el-form-item label="商户id">
|
||||||
<el-input v-model="form.wxpay_mchId" style="width: 370px;" type="password" />
|
<el-input v-model="form.wxpay_mchId" style="width: 370px;" type="password" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -37,7 +38,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
delLoading: false,
|
delLoading: false,
|
||||||
form: {
|
form: {
|
||||||
//wxpay_appId: '',
|
wx_native_app_appId: '',
|
||||||
wxpay_mchId: '',
|
wxpay_mchId: '',
|
||||||
wxpay_mchKey: '',
|
wxpay_mchKey: '',
|
||||||
wxpay_keyPath: ''
|
wxpay_keyPath: ''
|
||||||
|
Reference in New Issue
Block a user