用户编辑和余额增加减

This commit is contained in:
duan
2024-08-20 16:57:26 +08:00
parent c51d5cd064
commit 1fde054290
8 changed files with 273 additions and 56 deletions

View File

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