抽奖次数、邀请好友
This commit is contained in:
parent
1d2862765b
commit
6cccadbbce
|
|
@ -4,8 +4,8 @@ export const productUrl='dj-admin';
|
|||
// const baseUrl = "http://192.168.1.7:8100/czg/"
|
||||
// const baseUrl = "https://api.tianjinzhitongdaohe.com/czg/"
|
||||
|
||||
// const baseUrl = "https://web-api.hnsiyao.cn/czg/" //测试
|
||||
const baseUrl = "https://web.hnsiyao.cn/czg/" // 线上
|
||||
const baseUrl = "https://web-api.hnsiyao.cn/czg/" //测试
|
||||
// const baseUrl = "https://web.hnsiyao.cn/czg/" // 线上
|
||||
|
||||
export default{
|
||||
baseUrl
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ const mainRoutes = {
|
|||
{path: '/userList', component: _import('user/userList'), name: 'userList', meta: {title: '用户列表', isTab: true}},
|
||||
{path: '/allocationList',component: _import('allocation/allocationList'),name: 'allocationList',meta: {title: '配置列表', isTab: true}},
|
||||
{path: '/financeList', component: _import('finance/financeList'), name: 'financeList', meta: {title: '财务中心', isTab: true}},
|
||||
{path: '/shareFriends', component: _import('finance/shareFriends'), name: 'shareFriends', meta: {title: '邀请好友奖励', isTab: true}},
|
||||
{path: '/lotteryInquiry', component: _import('finance/lotteryInquiry'), name: 'lotteryInquiry', meta: {title: '抽奖查询', isTab: true}},
|
||||
{path: '/message', component: _import('message/message'), name: 'message', meta: {title: '消息中心', isTab: true}},
|
||||
{path: '/renwu', component: _import('renwu/index'), name: 'renwu', meta: {title: '任务中心', isTab: false}},
|
||||
{path: '/taskConfig', component: _import('taskConfig/taskConfig'), name: 'taskConfig', meta: {title: '任务配置', isTab: true}},
|
||||
|
|
|
|||
|
|
@ -261,6 +261,32 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="分享好友页面配置" name="Share">
|
||||
<el-form ref="ShareFriends" :model="ShareFriends" :rules="ShareFriendsrules" label-width="80px">
|
||||
<el-form-item label="顶部图">
|
||||
<div
|
||||
style=" width: 148px; height: 148px; border: 1px dashed #c0ccda; border-radius: 6px;text-align: center;line-height: 148px; ">
|
||||
<el-upload class="avatar-uploader" v-model="ShareFriends.imageUrl"
|
||||
:action="$http.adornUrlUp('alioss/upload')" :show-file-list="false"
|
||||
:on-success="handleAvatarSuccess">
|
||||
<img v-if="imageUrl" :src="imageUrl" class="avatar"
|
||||
style="border-radius: 6px; width: 148px; height: 148px" />
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
</div>
|
||||
<div> *建议优先选择jpg格式,并且最好控制在500kb内</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="邀请文案" prop="tips">
|
||||
<el-row>
|
||||
<el-col :span="8"><el-input v-model="ShareFriends.tips"></el-input></el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">保存</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<!-- 修改弹框 -->
|
||||
<el-dialog title="修改" :visible.sync="dialogFormVisible" center>
|
||||
|
|
@ -340,6 +366,19 @@ export default {
|
|||
dialogFormVisible1: false,
|
||||
tableDataLoading: true,
|
||||
formLabelWidth: '200px',
|
||||
ShareFriends: {},
|
||||
ShareFriendsrules: {
|
||||
imageUrl: [{
|
||||
required: true,
|
||||
message: '请选择图片',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
tips: [{
|
||||
required: true,
|
||||
message: '请输入文案',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
},
|
||||
form: {
|
||||
id: '',
|
||||
min: '',
|
||||
|
|
@ -362,6 +401,7 @@ export default {
|
|||
label: '否'
|
||||
}
|
||||
],
|
||||
imageUrl: '',
|
||||
tableData: [],
|
||||
checkBoxData: [] //多选框选择的值
|
||||
}
|
||||
|
|
@ -375,6 +415,47 @@ export default {
|
|||
this.page = val - 1;
|
||||
this.dataSelect();
|
||||
},
|
||||
onSubmit() {
|
||||
console.log(this.ShareFriends,'111111111111')
|
||||
if (!this.ShareFriends.imageUrl) {
|
||||
this.$message({
|
||||
message: '请选择图片',
|
||||
type: 'warning',
|
||||
duration: 1500
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$refs.ShareFriends.validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(111)
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/ext/sys/invite/friend/config/save'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData({
|
||||
...this.ShareFriends,
|
||||
})
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getData()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
handleClick(tab, event) {
|
||||
if (tab._props.label == '全局系统配置') {
|
||||
this.condition = 'xitong'
|
||||
|
|
@ -424,8 +505,26 @@ export default {
|
|||
this.condition = 'kefu'
|
||||
this.dataSelect()
|
||||
}
|
||||
if (tab._props.label == '分享好友页面配置') {
|
||||
this.condition = 'Share'
|
||||
this.getData()
|
||||
}
|
||||
|
||||
},
|
||||
getData(){
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`ext/sys/invite/friend/config/get`),
|
||||
method: 'get',
|
||||
params: {}
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.ShareFriends = data.data
|
||||
this.imageUrl = data.data.imageUrl
|
||||
}
|
||||
})
|
||||
},
|
||||
// 修改弹框
|
||||
amend(index, rows) {
|
||||
this.dialogFormVisible = true;
|
||||
|
|
@ -558,6 +657,10 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
handleAvatarSuccess(file, fileList) {
|
||||
this.ShareFriends.imageUrl = file.data
|
||||
this.imageUrl = file.data
|
||||
},
|
||||
handleAvatarSuccess1(file, fileList) {
|
||||
this.form.value = file.data
|
||||
console.log('file.data', file.data)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,144 @@
|
|||
<template>
|
||||
<div>
|
||||
<div style="display: inline-block;">
|
||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||
<el-form-item label="用户昵称/手机号">
|
||||
<el-input v-model="formInline.keywords" placeholder="请输入用户昵称/手机号" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="onSubmit">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table :data="list">
|
||||
<el-table-column prop="userId" label="ID"></el-table-column>
|
||||
<el-table-column prop="avatar" label="头像">
|
||||
<template slot-scope="scope">
|
||||
<img :src="scope.row.avatar" alt="" style="width: 50px; height: 50px; border-radius: 50%;" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" label="用户昵称"></el-table-column>
|
||||
<el-table-column prop="phone" label="手机号"></el-table-column>
|
||||
<el-table-column prop="totalDrawCount" label="支付解锁信息">
|
||||
<template slot-scope="scope">
|
||||
<div @click="goUrl(scope.row)" style="color: rgb(101, 165, 249);cursor: pointer;">共解锁:{{ scope.row.unlocked }}</div>
|
||||
<div>今日解锁:{{ scope.row.todayUnlocked }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="unlocked" label="抽奖次数信息">
|
||||
<template slot-scope="scope">
|
||||
<div>共获得抽奖次数:{{ scope.row.totalDrawCount }}</div>
|
||||
<div>剩余抽奖次数:{{ scope.row.residueDrawCount }}</div>
|
||||
<div>今日抽奖次数:{{ scope.row.todayDrawCount }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" @click="rewardDetails(scope.row)">查看抽奖详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange4" @current-change="handleCurrentChange4"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="rechargeData.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<el-dialog title="抽奖详情" :visible.sync="dialogVisible" width="50%">
|
||||
<div>抽奖次数合计:{{ rewardtotalPage }} </div>
|
||||
<el-table :data="rewardDetailsList">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="name" label="抽奖结果"></el-table-column>
|
||||
<el-table-column prop="createTime" label="抽奖时间"></el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
rechargeDataList: [],
|
||||
formInline: {
|
||||
keywords: ''
|
||||
},
|
||||
page: 1,
|
||||
limit: 10,
|
||||
rechargeData: {
|
||||
totalCount: 0,
|
||||
list: []
|
||||
},
|
||||
list: [],
|
||||
dialogVisible: false,
|
||||
rewardDetailsList: [],
|
||||
rewardtotalPage: 0,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getRechargeData()
|
||||
},
|
||||
methods: {
|
||||
goUrl(item) {
|
||||
this.$router.push({ path: '/orderCenter', query: { userName: item.phone } })
|
||||
},
|
||||
onSubmit() {
|
||||
this.page = 1
|
||||
this.limit = 10
|
||||
this.getRechargeData()
|
||||
}, reset() {
|
||||
this.formInline = {
|
||||
keywords: ''
|
||||
}
|
||||
this.getRechargeData()
|
||||
},
|
||||
getRechargeData() {
|
||||
this.$http.get('/ext/sys/lottery/count/query/page', {
|
||||
params: {
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
keywords: this.formInline.keywords
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.list = response.data.data.list
|
||||
} else {
|
||||
this.$message.error(response.data.msg)
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
})
|
||||
}, rewardDetails(item) {
|
||||
this.$http.get('/ext/sys/lottery/detail/page', {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 100,
|
||||
userId: item.userId
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.rewardDetailsList = response.data.data.list
|
||||
this.rewardtotalPage = response.data.data.totalPage
|
||||
this.dialogVisible = true
|
||||
} else {
|
||||
this.$message.error(response.data.message)
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
this.$message.error('获取数据失败')
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
handleSizeChange4(val) {
|
||||
this.limit = val
|
||||
this.getRechargeData()
|
||||
},
|
||||
handleCurrentChange4(val) {
|
||||
this.page = val
|
||||
this.getRechargeData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
<template>
|
||||
<div>
|
||||
<div style="display: inline-block;">
|
||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||
<el-form-item label="用户昵称/手机号">
|
||||
<el-input v-model="formInline.keywords" placeholder="请输入用户昵称/手机号" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="onSubmit">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table :data="rechargeDataList">
|
||||
<el-table-column prop="userId" label="ID"></el-table-column>
|
||||
<el-table-column label="头像" width="200">
|
||||
<template slot-scope="scope">
|
||||
<img :src="scope.row.avatar" alt="头像" style="width: 50px; height: 50px; border-radius: 50%;" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" label="用户昵称"></el-table-column>
|
||||
<el-table-column prop="phone" label="手机号"></el-table-column>
|
||||
<el-table-column prop="signInNum" label="总签到人数"></el-table-column>
|
||||
<el-table-column prop="awardAmount" label="已发放奖励总金额"></el-table-column>
|
||||
<el-table-column label="操作" width="300">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" @click="viewUserDetails(scope.row)">查看用户详情</el-button>
|
||||
<el-button type="text" @click="rewardDetails(scope.row)">奖励详情</el-button>
|
||||
<el-button type="text" @click="signInDetails(scope.row)">签到详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange4" @current-change="handleCurrentChange4"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="rechargeData.totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<!-- 奖励详情 -->
|
||||
<el-dialog title="奖励详情" :visible.sync="dialogVisible" width="50%">
|
||||
<div>奖励发放金额合计:{{ rewardtotalPage }} </div>
|
||||
<el-table :data="rewardDetailsList">
|
||||
<el-table-column prop="userId" label="ID"></el-table-column>
|
||||
<el-table-column prop="amount" label="发放金额"></el-table-column>
|
||||
<el-table-column prop="userPhone" label="有效邀请人"></el-table-column>
|
||||
<el-table-column prop="createTime" label="发放时间"></el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<!-- 签到详情 -->
|
||||
<el-dialog title="签到详情" :visible.sync="dialogVisibles" width="50%">
|
||||
<div><span>签到人数合计:{{ signInDetailsTotalPage }}</span> <span>实名人数合计:{{ signInDetailsTotalPage }}</span> </div>
|
||||
|
||||
<el-table :data="signInDetailsList">
|
||||
<el-table-column prop="userId" label="ID"></el-table-column>
|
||||
<el-table-column prop="userName" label="签到账号"></el-table-column>
|
||||
<el-table-column prop="phone" label="签到手机号"></el-table-column>
|
||||
<el-table-column prop="userName" label="实名信息">
|
||||
<template slot-scope="scope">
|
||||
<div>姓名:{{ scope.row.realName }}</div>
|
||||
<div>身份证号:{{ scope.row.idCardNo }}</div>
|
||||
<div>银行卡号:{{ scope.row.bankCardNo }}</div>
|
||||
<div>开户行:{{ scope.row.bankBranch }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="签到时间"></el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
rechargeDataList: [],
|
||||
rewardDetailsList: [], // 奖励详情列表
|
||||
rewardtotalPage: 0, // 奖励详情总页数
|
||||
signInDetailsList: [], // 签到详情列表
|
||||
signInDetailsTotalPage: 0, // 签到详情总页数
|
||||
formInline: {
|
||||
keywords: ''
|
||||
},
|
||||
page: 1,
|
||||
limit: 10,
|
||||
rechargeData: {
|
||||
totalCount: 0,
|
||||
list: []
|
||||
},
|
||||
dialogVisible: false,// 控制奖励详情弹窗的显示与隐藏
|
||||
dialogVisibles: false // 控制签到详情弹窗的显示与隐藏
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getRechargeData()
|
||||
},
|
||||
methods: {
|
||||
viewUserDetails(item) {
|
||||
this.$router.push({ path: '/userDetail', query: { userId: item.userId, active: 'first' } })
|
||||
},
|
||||
rewardDetails(item) {
|
||||
this.$http.get('/ext/sys/invite/friend/award/detail/page', {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 100,
|
||||
userId: item.userId
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.rewardDetailsList = response.data.data.list
|
||||
this.rewardtotalPage = response.data.data.totalPage
|
||||
this.dialogVisible = true
|
||||
} else {
|
||||
this.$message.error(response.data.message)
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
this.$message.error('获取数据失败')
|
||||
})
|
||||
},
|
||||
signInDetails(item) {
|
||||
this.$http.get('/ext/sys/invite/friend/signIn/page', {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 100,
|
||||
userId: item.userId
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.signInDetailsList = response.data.data.list
|
||||
this.signInDetailsTotalPage = response.data.data.totalPage
|
||||
this.dialogVisibles = true
|
||||
} else {
|
||||
this.$message.error(response.data.message)
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
this.$message.error('获取数据失败')
|
||||
})
|
||||
},
|
||||
onSubmit() {
|
||||
this.page = 1
|
||||
this.limit = 10
|
||||
this.getRechargeData()
|
||||
},
|
||||
reset() {
|
||||
this.formInline = {
|
||||
keywords: ''
|
||||
}
|
||||
this.getRechargeData()
|
||||
},
|
||||
getRechargeData() {
|
||||
this.$http.get('/ext/sys/invite/friend/award/page', {
|
||||
params: {
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
keywords: this.formInline.keywords
|
||||
}
|
||||
}).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.rechargeDataList = response.data.data.list
|
||||
} else {
|
||||
this.$message.error(response.data.message)
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error(error)
|
||||
this.$message.error('获取数据失败')
|
||||
})
|
||||
},
|
||||
handleSizeChange4(val) {
|
||||
this.limit = val
|
||||
this.getRechargeData()
|
||||
},
|
||||
handleCurrentChange4(val) {
|
||||
this.page = val
|
||||
this.getRechargeData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -138,6 +138,8 @@
|
|||
</el-tabs>
|
||||
</template>
|
||||
<script>
|
||||
import { watch } from 'fs'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
|
|
@ -358,9 +360,22 @@
|
|||
},
|
||||
},
|
||||
mounted () {
|
||||
// if(this.$route.query.userName) {
|
||||
// this.userName = this.$route.query.userName
|
||||
// }
|
||||
this.dataSelect()
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// 监听路由变化,重新获取数据
|
||||
'$route' (to, from) {
|
||||
if (to.query.userName) {
|
||||
this.userName = to.query.userName
|
||||
this.dataSelect()
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue