用户编辑和余额增加减
This commit is contained in:
parent
c51d5cd064
commit
1fde054290
|
|
@ -144,7 +144,7 @@ export function adget(params) {
|
|||
*/
|
||||
export function adpost(data) {
|
||||
return request({
|
||||
url: `/api/miniAppPages`,
|
||||
url: `/api/ad`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
|
|
@ -155,7 +155,7 @@ export function adpost(data) {
|
|||
*/
|
||||
export function adput(data) {
|
||||
return request({
|
||||
url: '/api/miniAppPages',
|
||||
url: '/api/ad',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
|
|
@ -167,7 +167,7 @@ export function adput(data) {
|
|||
*/
|
||||
export function addelete(params) {
|
||||
return request({
|
||||
url: "/api/miniAppPages/" + params,
|
||||
method: "put",
|
||||
url: "/api/ad/" + params,
|
||||
method: "DELETE",
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -607,3 +607,28 @@ export function shopStaffDelete(data) {
|
|||
data
|
||||
});
|
||||
}
|
||||
|
||||
//增减余额
|
||||
export function midfiyAccount(data) {
|
||||
return request({
|
||||
url: `/api/tbShopUser/midfiyAccount`,
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
}
|
||||
// 编辑用户
|
||||
export function tbShopUseredit(data) {
|
||||
return request({
|
||||
url: `/api/tbShopUser`,
|
||||
method: "put",
|
||||
data
|
||||
});
|
||||
}
|
||||
// 通过活动id获取赠送商品列表
|
||||
|
||||
export function activate(id) {
|
||||
return request({
|
||||
url: `shop/storage/activate/${id}`,
|
||||
method: "get"
|
||||
});
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
<el-form-item label="状态">
|
||||
<el-select clearable v-model="query.status" placeholder="请选择">
|
||||
<el-option label="可见" value="1" />
|
||||
<el-option label="不可见" value="1" />
|
||||
<el-option label="不可见" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
</el-form>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" :data="tableData" style="width: 100%;">
|
||||
<el-table-column prop="name" label="弹窗广告">
|
||||
<el-table-column label="弹窗广告">
|
||||
<template v-slot="scope">
|
||||
<img :src="scope.row.imgUrl" style="width: 100px;height: 100px;">
|
||||
</template>
|
||||
|
|
@ -36,7 +36,11 @@
|
|||
@change="showChange($event, scope.row)"></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="path" label="弹窗频率" />
|
||||
<el-table-column prop="" label="弹窗频率">
|
||||
<template v-slot="scope">
|
||||
{{ scope.row.frequency | frequencyFilter }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建日期" />
|
||||
<el-table-column label="操作" width="200">
|
||||
<template v-slot="scope">
|
||||
|
|
@ -53,19 +57,40 @@
|
|||
<el-pagination :total="tableData.length" layout="total, prev, pager, next, jumper"></el-pagination>
|
||||
</div> -->
|
||||
<!-- 增减余额弹窗 -->
|
||||
<el-dialog :title="title + '页面'" :visible.sync="dialogVisible" width="30%">
|
||||
<el-form ref="form" :model="form" label-width="80px">
|
||||
<el-form-item label="页面名称">
|
||||
<el-input v-model="form.name"></el-input>
|
||||
</el-form-item> <el-form-item label="页面路径">
|
||||
<el-input v-model="form.path"></el-input>
|
||||
<el-dialog :title="title + '广告'" :visible.sync="dialogVisible" width="60%">
|
||||
<el-form ref="form" :model="form" label-width="120px">
|
||||
<el-form-item label="上传弹窗广告">
|
||||
<el-upload class="upload-demo" :action="qiNiuUploadApi" :headers="headers" :limit="1"
|
||||
:on-remove="removeEvent" :on-success="successEvent" :file-list="fileList">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
<div slot="tip" class="el-upload__tip">建议尺寸:520px*680px</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio :label="1">可见</el-radio>
|
||||
<el-radio :label="2">不可见</el-radio>
|
||||
<el-form-item label="圆角设置">
|
||||
<el-slider v-model="form.borderRadius"></el-slider>
|
||||
</el-form-item>
|
||||
<el-form-item label="弹窗位置">
|
||||
<el-radio-group v-model="form.showPosition">
|
||||
<el-radio label="home">首页</el-radio>
|
||||
<el-radio label="make_order">点餐页</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="弹窗频率">
|
||||
<el-radio-group v-model="form.frequency">
|
||||
<el-radio label="only_one">仅首次打开显示</el-radio>
|
||||
<el-radio label="every_show">每次打开显示一次</el-radio>
|
||||
<el-radio label="thirty_day">每30天显示一次</el-radio>
|
||||
<el-radio label="seven_day">每7天显示一次</el-radio>
|
||||
<el-radio label="three_day">每3天显示一次</el-radio>
|
||||
<el-radio label="every_day">每1天显示一次</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="跳转页面">
|
||||
<el-select v-model="form.linkPath" placeholder="请选择">
|
||||
<el-option v-for="item in tourl" :key="item.id" :label="item.name" :value="item.path">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
|
|
@ -75,40 +100,98 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { miniAppPagesget } from '@/api/goxcx'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { adget, adpost, adput, addelete } from '@/api/application'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
computed: {
|
||||
...mapGetters(['qiNiuUploadApi'])
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
headers: {
|
||||
Authorization: getToken()
|
||||
},
|
||||
tourl: [],
|
||||
query: {
|
||||
showPosition: "", status: ""
|
||||
},
|
||||
form: {
|
||||
name: "",
|
||||
sort: "",
|
||||
path: "",
|
||||
status: 1,
|
||||
shopId: localStorage.getItem("shopId"),
|
||||
showPosition: 'home',
|
||||
frequency: "only_one"
|
||||
},
|
||||
title: '新增',
|
||||
dialogVisible: false
|
||||
dialogVisible: false,
|
||||
tableData: [],
|
||||
fileList: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
// 获取跳转页面
|
||||
this.getto()
|
||||
},
|
||||
watch: {
|
||||
'form.type': (n, o) => {
|
||||
if (n == 'img') {
|
||||
filters: {
|
||||
frequencyFilter(key) {
|
||||
let str = ""
|
||||
switch (key) {
|
||||
case 'only_one':
|
||||
str = '仅首次展示'
|
||||
break;
|
||||
case 'every_show':
|
||||
str = '每次打开都展示'
|
||||
break;
|
||||
case 'every_day':
|
||||
str = '每天展示一次'
|
||||
break;
|
||||
case 'three_day':
|
||||
str = '每三天展示一次'
|
||||
break;
|
||||
case 'seven_day':
|
||||
str = '每七天展示一次'
|
||||
break;
|
||||
case 'thirty_day':
|
||||
str = '每30天展示一次'
|
||||
break;
|
||||
}
|
||||
}
|
||||
return str
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
showChange() { },
|
||||
successEvent(file) {
|
||||
this.fileList = [{ url: file.data[0], name: '图片' }]
|
||||
},
|
||||
removeEvent(file) {
|
||||
// 删除数据
|
||||
let index = this.fileList.findIndex(ele => ele.url == file.response.data[0])
|
||||
this.fileList.splice(index, 1);
|
||||
},
|
||||
async showChange(a, d) {
|
||||
this.form.imgUrl = this.fileList
|
||||
await adput({
|
||||
...d,
|
||||
...this.form
|
||||
})
|
||||
this.$message({
|
||||
message: '成功',
|
||||
type: 'success'
|
||||
})
|
||||
},
|
||||
async getto() {
|
||||
let res = await miniAppPagesget()
|
||||
this.tourl = res
|
||||
},
|
||||
async sumbit() {
|
||||
this.form.imgUrl = this.fileList[0].url
|
||||
this.dialogVisible = false
|
||||
if (this.title == '新增') {
|
||||
await adpost(this.form)
|
||||
|
||||
this.$message({
|
||||
message: '添加成功',
|
||||
type: 'success'
|
||||
|
|
@ -122,8 +205,14 @@ export default {
|
|||
})
|
||||
}
|
||||
this.form = {
|
||||
status: 1
|
||||
sort: "",
|
||||
path: "",
|
||||
status: 1,
|
||||
shopId: localStorage.getItem("shopId"),
|
||||
showPosition: 'home',
|
||||
frequency: "only_one"
|
||||
}
|
||||
this.fileList = []
|
||||
this.getList()
|
||||
},
|
||||
// 编辑
|
||||
|
|
@ -131,10 +220,12 @@ export default {
|
|||
this.title = '编辑'
|
||||
this.dialogVisible = true
|
||||
this.form = item
|
||||
console.log(item.imgUrl, '调试1')
|
||||
this.fileList = [{ url: item.imgUrl, name: '图片' }]
|
||||
},
|
||||
// 删除
|
||||
async delHandle(pagesId) {
|
||||
let res = await addelete(pagesId)
|
||||
async delHandle(adId) {
|
||||
let res = await addelete(adId)
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ export default {
|
|||
if (valid) {
|
||||
try {
|
||||
this.form.lpNum = this.profitNumber
|
||||
// this.form.stockNumber = this.form.stocktakinNum
|
||||
this.form.balance = this.form.stockNumber
|
||||
this.loading = true
|
||||
let res = await tbConCheck(this.form)
|
||||
console.log(this.form);
|
||||
|
|
|
|||
|
|
@ -18,8 +18,9 @@
|
|||
</el-select>
|
||||
</div>
|
||||
<div style="width: 300px;">
|
||||
<el-select clearable v-model="query.sort" placeholder="排序">
|
||||
<el-option label="按数量排序" value="1" />
|
||||
<el-select v-model="query.sort" placeholder="排序">
|
||||
<el-option label="默认排序" value="false" />
|
||||
<el-option label="库存降序" value="true" />
|
||||
</el-select>
|
||||
</div>
|
||||
<el-button type="primary" @click="getTableData">查询</el-button>
|
||||
|
|
@ -160,7 +161,7 @@ export default {
|
|||
montey: "",
|
||||
categorys: [],
|
||||
query: {
|
||||
sort: "", // 排序
|
||||
sort: "false", // 排序
|
||||
name: '',
|
||||
isStock: '',
|
||||
num: '',
|
||||
|
|
@ -315,7 +316,7 @@ export default {
|
|||
isStock: this.query.isStock,
|
||||
num: this.query.num,
|
||||
categoryId: this.query.categoryId,
|
||||
sort:this.query.sort,
|
||||
sort: this.query.sort,
|
||||
shopId: localStorage.getItem('shopId')
|
||||
})
|
||||
this.tableData.loading = false
|
||||
|
|
|
|||
|
|
@ -205,6 +205,8 @@ export default {
|
|||
this.form.id = null
|
||||
this.form.productIds = []
|
||||
this.productIds = []
|
||||
this.$emit('success', null)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
<el-form-item label="最大金额">
|
||||
<el-input-number v-model="form.maxNum" controls-position="right" :min="1"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="赠送数量">
|
||||
<el-input-number v-model="form.handselNum" controls-position="right" :min="1"></el-input-number>
|
||||
<el-form-item label="赠送金额">
|
||||
<el-input-number v-model="form.handselNum" controls-position="right" :min="0"></el-input-number>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="赠送类型">
|
||||
<el-select v-model="form.handselType">
|
||||
|
|
@ -20,6 +20,9 @@
|
|||
<el-form-item label="状态">
|
||||
<el-switch v-model="form.isDel" active-value="0" inactive-value="1"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否赠送商品">
|
||||
<el-switch v-model="form.isGiftPro" active-value="1" inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item label="赠送商品">
|
||||
<div>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="$refs.shopListRef.show([...productIds])">
|
||||
|
|
@ -27,12 +30,14 @@
|
|||
</el-button>
|
||||
</div>
|
||||
<div class="shop_list">
|
||||
<div class="item_wrap" v-for="(item, index) in productIds" :key="item.id"
|
||||
@click="productIds.splice(index, 1)">
|
||||
<div class="item" :data-index="index + 1">
|
||||
<el-image :src="item.coverImg" style="width: 100%;height: 100%;"></el-image>
|
||||
<div class="item_wrap" v-for="(item, index) in productIds" :key="item.id">
|
||||
<div style="display: flex;align-items: center;margin-top: 6px;">
|
||||
<div class="name">{{ item.name }}</div>
|
||||
<el-input style="width: 120px;" v-model="item.num" placeholder='请填写数量'
|
||||
@input="checkIfNum(item)"></el-input>
|
||||
<el-button type="text" @click="productIds.splice(index, 1)"
|
||||
style="margin-left: 20px;">删除</el-button>
|
||||
</div>
|
||||
<div class="name">{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
|
@ -49,7 +54,7 @@
|
|||
|
||||
<script>
|
||||
import handselTypes from '../handselTypes'
|
||||
import { modityActivate } from '@/api/shop'
|
||||
import { modityActivate, activate } from '@/api/shop'
|
||||
import shopList from '@/components/shopList'
|
||||
|
||||
export default {
|
||||
|
|
@ -113,12 +118,23 @@ export default {
|
|||
})
|
||||
return falg
|
||||
},
|
||||
checkIfNum(item) {
|
||||
item.num = item.num.toString().replace(/\D/g, '');
|
||||
},
|
||||
// 确认选择商品分类
|
||||
classifySuccess(e) {
|
||||
this.form.config.categoryList = e
|
||||
},
|
||||
onSubmitHandle() {
|
||||
console.log(this.form)
|
||||
// console.log(this.form)
|
||||
let arr = []
|
||||
this.productIds.forEach(ele => {
|
||||
arr.push({
|
||||
productId: ele.id,
|
||||
num: ele.num
|
||||
})
|
||||
})
|
||||
this.form.products = arr
|
||||
this.$refs.form.validate(async valid => {
|
||||
if (valid) {
|
||||
try {
|
||||
|
|
@ -140,10 +156,13 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
show(obj) {
|
||||
async show(obj) {
|
||||
this.dialogVisible = true
|
||||
if (obj && obj.id) {
|
||||
this.form = { ...obj }
|
||||
let res = await activate(obj.id)
|
||||
this.productIds = res
|
||||
console.log(res, '调试1')
|
||||
}
|
||||
},
|
||||
close() {
|
||||
|
|
|
|||
|
|
@ -90,8 +90,14 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template v-slot="scope">
|
||||
<el-button type="text" @click="">编辑</el-button>
|
||||
<el-button type="text" @click="editPop(scope.row)">增减余额</el-button>
|
||||
<el-button type="text" @click="edituser(scope.row)">编辑</el-button>
|
||||
<el-dropdown size="mini" @command="editPop(scope.row)">
|
||||
<span class="el-dropdown-link" style="font-size: 12px;"> 更多 </span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>增减余额</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
<!-- <el-button type="text" @click="editPop(scope.row)">增减余额</el-button> -->
|
||||
<!-- <el-button type="text" @click="">历史订单</el-button>
|
||||
<el-button type="text" @click="">充值记录</el-button> -->
|
||||
|
||||
|
|
@ -108,7 +114,39 @@
|
|||
@size-change="sizeChange" @current-change="paginationChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
|
||||
</div>
|
||||
<!-- 编辑用户 -->
|
||||
<el-dialog title="编辑" :visible.sync="dialogVisibleedit" width="30%">
|
||||
<el-form ref="form" :model="userinfos" label-width="80px">
|
||||
<el-form-item label="生日">
|
||||
<el-date-picker v-model="userinfos.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="会员名称">
|
||||
<el-input v-model="userinfos.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-radio-group v-model="userinfos.sex">
|
||||
<el-radio label="1">男</el-radio>
|
||||
<el-radio label="2">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="状态">
|
||||
<el-radio-group v-model="userinfos.status">
|
||||
<el-radio label="1">正常</el-radio>
|
||||
<el-radio label="0">不可使用</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="联系电话">
|
||||
<el-input v-model="userinfos.telephone" @input="checkIfNum"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisibleedit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="sumbituser">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 增减余额弹窗 -->
|
||||
<el-dialog title="增减余额" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
|
||||
<el-form ref="form" :model="userinfo" label-width="80px">
|
||||
|
|
@ -116,31 +154,31 @@
|
|||
{{ userinfo.nickName }}
|
||||
</el-form-item>
|
||||
<el-form-item label="增减">
|
||||
<el-radio-group v-model="userinfo.IncreaseDeduction">
|
||||
<el-radio :label="1">增加</el-radio>
|
||||
<el-radio :label="2">备选项</el-radio>
|
||||
<el-radio-group v-model="userinfo.operationType">
|
||||
<el-radio label="in">增加</el-radio>
|
||||
<el-radio label="out">扣除</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="余额">
|
||||
<el-input v-model="userinfo.nickName"></el-input>
|
||||
<el-input v-model="userinfo.amount" @input="checkIfNum"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型">
|
||||
<el-radio-group v-model="userinfo.type">
|
||||
<el-radio :label="1">消费</el-radio>
|
||||
<el-radio :label="2">充值退款</el-radio>
|
||||
<el-radio label="consume">消费</el-radio>
|
||||
<el-radio label="inMoney ">充值退款</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
||||
<el-button type="primary" @click="sumbit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { queryAllShopUser, queryAllShopInfo } from "@/api/shop";
|
||||
import { queryAllShopUser, queryAllShopInfo, midfiyAccount, tbShopUseredit } from "@/api/shop";
|
||||
import dayjs from "dayjs";
|
||||
let cacheData = {};
|
||||
export default {
|
||||
|
|
@ -163,10 +201,16 @@ export default {
|
|||
total: 0
|
||||
},
|
||||
dialogVisible: false,
|
||||
dialogVisibleedit: false,
|
||||
userinfo: {
|
||||
nickName: '',
|
||||
IncreaseDeduction: 1,
|
||||
type: 1
|
||||
operationType: 'in',
|
||||
type: 'consume'
|
||||
},
|
||||
userinfos: {
|
||||
levelConsume: "0",
|
||||
sex: '1',
|
||||
status: '1'
|
||||
}
|
||||
};
|
||||
},
|
||||
|
|
@ -176,17 +220,52 @@ export default {
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
cacheData = { ...this.query };
|
||||
this.getTableData();
|
||||
this.getShopInfo();
|
||||
},
|
||||
methods: {
|
||||
checkIfNum() {
|
||||
this.userinfo.amount = this.userinfo.amount.toString().replace(/\D/g, '');
|
||||
},
|
||||
handleClose() {
|
||||
this.userinfo = {}
|
||||
},
|
||||
async sumbituser() {
|
||||
let res = await tbShopUseredit({
|
||||
...this.userinfos,
|
||||
levelConsume:'0',
|
||||
shopId: localStorage.getItem("shopId"),
|
||||
})
|
||||
this.$message.success('修改成功')
|
||||
this.dialogVisibleedit = false
|
||||
this.getTableData();
|
||||
},
|
||||
async sumbit() {
|
||||
let res = await midfiyAccount(this.userinfo)
|
||||
this.dialogVisible = false
|
||||
this.$message.success('修改成功')
|
||||
this.getTableData();
|
||||
},
|
||||
editPop(d) {
|
||||
this.dialogVisible = true
|
||||
this.userinfo.nickName = d.nickName
|
||||
this.userinfo.id = d.id
|
||||
},
|
||||
edituser(d) {
|
||||
let obj = { ...d }
|
||||
if (d.sex == '男') {
|
||||
obj.sex = '1'
|
||||
} else {
|
||||
obj.sex = '2'
|
||||
}
|
||||
obj.birthday = d.birthDay
|
||||
obj.name = d.nickName
|
||||
console.log(obj, '调试1')
|
||||
this.userinfos = obj
|
||||
|
||||
this.dialogVisibleedit = true
|
||||
},
|
||||
toPage(type) {
|
||||
const pages = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue