update:新增店铺会员功能
This commit is contained in:
parent
6c270ee2c5
commit
64316c3c8c
35
src/api/base/store/menber.js
Normal file
35
src/api/base/store/menber.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
import { URL } from '@/config'
|
||||||
|
|
||||||
|
export function getList(params) {
|
||||||
|
return request({
|
||||||
|
url: URL.shop.base.store.menber.getList,
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function exportMenber(params) {
|
||||||
|
return request({
|
||||||
|
url: URL.shop.base.store.menber.export,
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
responseType: 'blob',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getNotice(params) {
|
||||||
|
return request({
|
||||||
|
url: URL.shop.base.store.menber.view,
|
||||||
|
method: 'get',
|
||||||
|
params,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function doDelete(data) {
|
||||||
|
return request({
|
||||||
|
url: URL.shop.base.store.grade.doDelete,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -730,6 +730,12 @@ let url = {
|
|||||||
api_url + '/admin/shop/shop-base-store-category/getStoreClassify',
|
api_url + '/admin/shop/shop-base-store-category/getStoreClassify',
|
||||||
categoryList: api_url + '/mobile/shop/shop-base-store-category/list',
|
categoryList: api_url + '/mobile/shop/shop-base-store-category/list',
|
||||||
},
|
},
|
||||||
|
menber:{
|
||||||
|
getList: api_url + '/admin/shop/shop-store-member/list',
|
||||||
|
export: api_url + '/admin/shop/shop-store-member/exportShopStoreMember',
|
||||||
|
view: api_url + '/admin/shop/shop-store-member/getShopStoreMember',
|
||||||
|
export: api_url + '/admin/shop/shop-store-member/exportShopStoreMember',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
market: {
|
market: {
|
||||||
category: {
|
category: {
|
||||||
|
|||||||
@ -63,6 +63,23 @@ export function convertRouter(asyncRoutes) {
|
|||||||
|
|
||||||
route.children.push(obj)
|
route.children.push(obj)
|
||||||
}
|
}
|
||||||
|
if (route.meta.title == '店铺' && route.name == 'Vab807') {
|
||||||
|
const obj = {
|
||||||
|
path: '/storeMenber',
|
||||||
|
component: '@/views/base/store/member/index.vue',
|
||||||
|
name: 'Vab807111',
|
||||||
|
redirect: null,
|
||||||
|
meta: {
|
||||||
|
title: '店铺会员',
|
||||||
|
icon: '',
|
||||||
|
noClosable: 0,
|
||||||
|
hidden: null,
|
||||||
|
},
|
||||||
|
menuHidden: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
route.children.push(obj)
|
||||||
|
}
|
||||||
if (route.meta.title == '店铺' && route.name == 'Vab330') {
|
if (route.meta.title == '店铺' && route.name == 'Vab330') {
|
||||||
const obj = {
|
const obj = {
|
||||||
path: '/storeConf',
|
path: '/storeConf',
|
||||||
|
|||||||
204
src/views/base/store/member/index.vue
Normal file
204
src/views/base/store/member/index.vue
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" ref="crud" @row-del="rowDel" v-model="form" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
|
||||||
|
<template slot="menuLeft">
|
||||||
|
<el-button type="warning" plain icon="el-icon-download" @click="exportExcel">导出 </el-button>
|
||||||
|
</template>
|
||||||
|
<!-- <template slot-scope="{type,size,row,index}" slot="menuBefore">
|
||||||
|
<el-button type="text" icon="el-icon-view" @click="openView(row)">查看 </el-button>
|
||||||
|
</template>-->
|
||||||
|
</avue-crud>
|
||||||
|
<menberview ref="menberviewref"></menberview>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getList,
|
||||||
|
// remove,
|
||||||
|
// update,
|
||||||
|
// add,
|
||||||
|
exportMenber,
|
||||||
|
getNotice,
|
||||||
|
} from "@/api/base/store/menber.js";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
memberLevelName: '',
|
||||||
|
userLevelSpend: '',
|
||||||
|
userLevelName: '',
|
||||||
|
},
|
||||||
|
query: {},
|
||||||
|
loading: true,
|
||||||
|
page: {
|
||||||
|
pageSize: 10,
|
||||||
|
currentPage: 1,
|
||||||
|
total: 0,
|
||||||
|
},
|
||||||
|
selectionList: [],
|
||||||
|
option: {
|
||||||
|
indexLabel: '序号',
|
||||||
|
indexWidth: 200,
|
||||||
|
searchLabelWidth: 120,
|
||||||
|
labelWidth: 120,
|
||||||
|
calcHeight: 30,
|
||||||
|
dialogWidth: '70%',
|
||||||
|
tip: false,
|
||||||
|
searchShow: true,
|
||||||
|
searchMenuSpan: 6,
|
||||||
|
border: true,
|
||||||
|
index: false,
|
||||||
|
addBtn: false,
|
||||||
|
editBtn: false,
|
||||||
|
delBtn: false,
|
||||||
|
viewBtn: true,
|
||||||
|
selection: false,
|
||||||
|
excelBtn: false,
|
||||||
|
dialogClickModal: false,
|
||||||
|
card: true,
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '会员登录id',
|
||||||
|
prop: 'userId',
|
||||||
|
span: 12,
|
||||||
|
search: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '会员昵称',
|
||||||
|
prop: 'userNickname',
|
||||||
|
span: 12,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '新增会员时间',
|
||||||
|
prop: 'createTime',
|
||||||
|
span: 12,
|
||||||
|
hide: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '消费金额',
|
||||||
|
prop: 'userLevelSpend',
|
||||||
|
span: 12,
|
||||||
|
hide: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '用户等级',
|
||||||
|
prop: 'userLevelName',
|
||||||
|
span: 12,
|
||||||
|
hide: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '会员等级 ',
|
||||||
|
prop: 'memberLevelName',
|
||||||
|
span: 12,
|
||||||
|
hide: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '店铺名称',
|
||||||
|
prop: 'storeName',
|
||||||
|
span: 12,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '会员手机号码',
|
||||||
|
prop: 'userAccount',
|
||||||
|
span: 12,
|
||||||
|
search: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
data: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 导出
|
||||||
|
async exportExcel(){
|
||||||
|
exportMenber().then(
|
||||||
|
(data) => {
|
||||||
|
const blob = new Blob([data])
|
||||||
|
const downloadElement = document.createElement('a')
|
||||||
|
const href = window.URL.createObjectURL(blob) //创建下载的链接
|
||||||
|
downloadElement.href = href
|
||||||
|
downloadElement.download = decodeURIComponent('会员列表.xlsx') //下载后文件名
|
||||||
|
document.body.appendChild(downloadElement)
|
||||||
|
downloadElement.click() //点击下载
|
||||||
|
document.body.removeChild(downloadElement) //下载完成移除元素
|
||||||
|
window.URL.revokeObjectURL(href) //释放掉blob对象
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
openView(row) {
|
||||||
|
this.$refs.menberviewref.init(row)
|
||||||
|
},
|
||||||
|
searchReset() {
|
||||||
|
this.query = {}
|
||||||
|
this.onLoad(this.page)
|
||||||
|
},
|
||||||
|
searchChange(params, done) {
|
||||||
|
if (params.releaseTimeRange) {
|
||||||
|
params.startDate = params.releaseTimeRange[0]
|
||||||
|
params.endDate = params.releaseTimeRange[1]
|
||||||
|
}
|
||||||
|
this.query = params
|
||||||
|
this.page.currentPage = 1
|
||||||
|
this.onLoad(this.page, params)
|
||||||
|
done()
|
||||||
|
},
|
||||||
|
selectionChange(list) {
|
||||||
|
this.selectionList = list
|
||||||
|
},
|
||||||
|
selectionClear() {
|
||||||
|
this.selectionList = []
|
||||||
|
this.$refs.crud.toggleSelection()
|
||||||
|
},
|
||||||
|
beforeOpen(done, type) {
|
||||||
|
if (['edit', 'view'].includes(type)) {
|
||||||
|
getNotice({store_member_id:this.form.store_member_id,storeId:this.form.storeId}).then((res) => {
|
||||||
|
if (res.status!= 200){
|
||||||
|
this.$message.error(res.msg)
|
||||||
|
done(false)
|
||||||
|
}
|
||||||
|
this.form = res.data
|
||||||
|
this.form.memberLevelName = res.data.shopStoreMemberLevel.memberLevelName
|
||||||
|
this.form.userLevelName = res.data.shopStoreMemberLevel.userLevelName
|
||||||
|
this.form.userLevelSpend = res.data.shopStoreMemberLevel.userLevelSpend
|
||||||
|
})
|
||||||
|
}
|
||||||
|
done()
|
||||||
|
},
|
||||||
|
currentChange(currentPage) {
|
||||||
|
this.page.currentPage = currentPage
|
||||||
|
},
|
||||||
|
sizeChange(pageSize) {
|
||||||
|
this.page.pageSize = pageSize
|
||||||
|
},
|
||||||
|
refreshChange() {
|
||||||
|
this.onLoad(this.page, this.query)
|
||||||
|
},
|
||||||
|
onLoad(page, params = {}) {
|
||||||
|
let values = {
|
||||||
|
...params,
|
||||||
|
pageNum:page.currentPage,
|
||||||
|
pageSize:page.pageSize,
|
||||||
|
...this.query,
|
||||||
|
};
|
||||||
|
this.loading = true;
|
||||||
|
getList({...values}).then((res) => {
|
||||||
|
let resdata = res;
|
||||||
|
console.log(resdata);
|
||||||
|
this.page.total = resdata.total;
|
||||||
|
this.data = resdata.records;
|
||||||
|
this.loading = false
|
||||||
|
this.selectionClear();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
Loading…
Reference in New Issue
Block a user