提交代码

This commit is contained in:
duan 2025-02-25 19:37:37 +08:00
parent d5d19e2696
commit 55af5fd698
4 changed files with 19329 additions and 14021 deletions

19716
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -51,10 +51,10 @@
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">总收入</div> <div class="box_color">今日订单笔数</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.totalRevenue ? tableData.totalRevenue : 0 tableData.todayPayCount ? tableData.todayPayCount : 0
}}</span }}</span
> >
</div> </div>
@ -67,7 +67,7 @@
<div class="box_color">今日收入</div> <div class="box_color">今日收入</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.todayRevenue ? tableData.todayRevenue : 0 tableData.todayPayAmount ? tableData.todayPayAmount : 0
}}</span }}</span
> >
</div> </div>
@ -77,10 +77,10 @@
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">本月收入</div> <div class="box_color">今日提现</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.monthRevenue ? tableData.monthRevenue : 0 tableData.todayExtractAmount ? tableData.todayExtractAmount : 0
}}</span }}</span
> >
</div> </div>
@ -90,10 +90,10 @@
<el-col :span="6" class="cards"> <el-col :span="6" class="cards">
<div class="box"> <div class="box">
<div class="box_num"> <div class="box_num">
<div class="box_color">本年收入</div> <div class="box_color">今日提现笔数</div>
<div class="text_color"> <div class="text_color">
<span>{{ <span>{{
tableData.yearRevenue ? tableData.yearRevenue : 0 tableData.todayExtractCount ? tableData.todayExtractCount : 0
}}</span }}</span
> >
</div> </div>

View File

@ -1986,6 +1986,13 @@
}, },
}, },
mounted() { mounted() {
this.activeName= this.$route.query.active
let obj ={
_props:{
label:'提现记录'
}
}
this.handleClick(obj)
this.dataSelect() this.dataSelect()
} }
} }

View File

@ -40,8 +40,8 @@
</div> </div>
<div style="margin:5px;display: inline-block;"> <div style="margin:5px;display: inline-block;">
<span>开始时间</span> <span>开始时间</span>
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right" <el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right" type="date"
type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间"> format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
</el-date-picker> </el-date-picker>
</div> </div>
<div style="margin:5px;display: inline-block;"> <div style="margin:5px;display: inline-block;">
@ -83,15 +83,33 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="sysUserName" label="分销商"></el-table-column> <el-table-column prop="inviteCount" label="下级人数"></el-table-column>
<!-- <el-table-column prop="inviteAmount" label="下级每日达标奖励"></el-table-column> -->
<el-table-column prop="inviteAmount" label="下级每日达标奖励" width="150">
<template slot-scope="scope">
<span>{{ scope.row.inviteAmount ? scope.row.inviteAmount : '0' }}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')"
style="color: #4f9dec;background: #fff;border: none;"
@click="xiugai2(scope.row, 'inviteAmount')">
修改</el-button>
</span>
</template>
</el-table-column>
<el-table-column prop="cashAmount" label="提现金额">
<template slot-scope="scope">
<span style="color: #4f9dec;cursor: pointer;" @click="updates(scope.row,'sixth')">
{{ scope.row.cashAmount ? scope.row.cashAmount : '0' }}
</span>
</template>
</el-table-column>
<el-table-column prop="invitationCode" label="邀请码"></el-table-column> <el-table-column prop="invitationCode" label="邀请码"></el-table-column>
<el-table-column label="邀请人邀请码"> <el-table-column label="邀请人邀请码">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="color: #4f9dec;cursor: pointer;" <span style="color: #4f9dec;cursor: pointer;" @click="updates2(scope.row.inviterCode)">{{
@click="updates2(scope.row.inviterCode)">{{ scope.row.inviterCode ? scope.row.inviterCode : '未绑定' }}</span> scope.row.inviterCode ? scope.row.inviterCode : '未绑定' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="qdCode" label="渠道码"></el-table-column> <!-- <el-table-column prop="qdCode" label="渠道码"></el-table-column> -->
<el-table-column prop="vipType" label="会员类型"> <el-table-column prop="vipType" label="会员类型">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.vipType == 2">充值会员</span> <span v-if="scope.row.vipType == 2">充值会员</span>
@ -99,7 +117,7 @@
<span v-else> - </span> <span v-else> - </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="rate" label="一级推广收益比例" width="150"> <!-- <el-table-column prop="rate" label="一级推广收益比例" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.rate?scope.row.rate:'0'}}</span> <span>{{scope.row.rate?scope.row.rate:'0'}}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')" <el-button size="mini" :disabled="!isAuth('userList:updatebl')"
@ -116,7 +134,7 @@
修改</el-button> 修改</el-button>
</span> </span>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="platform" label="渠道来源"> <el-table-column prop="platform" label="渠道来源">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.platform ? scope.row.platform : '-' }}</span> <span>{{ scope.row.platform ? scope.row.platform : '-' }}</span>
@ -133,6 +151,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column> <el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
<el-table-column prop="balance" label="余额" ></el-table-column>
<el-table-column prop="state " label="状态"> <el-table-column prop="state " label="状态">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.row.status" @change="change(scope.row.status, scope.row.userId)" <el-switch v-model="scope.row.status" @change="change(scope.row.status, scope.row.userId)"
@ -141,6 +160,14 @@
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="state" label="是否拉黑">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" @change="releaseBlackout(scope.row)"
:active-value="1" :inactive-value="0" active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="120"> <el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="warning" @click="updateVip(scope.row)" <el-button size="mini" type="warning" @click="updateVip(scope.row)"
@ -162,7 +189,7 @@
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="充值会员用户" name="second1"> <!-- <el-tab-pane label="充值会员用户" name="second1">
<el-table v-loading="tableDataLoading" :data="tableData.list"> <el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="userName" label="昵称" width="150"> <el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
@ -251,7 +278,6 @@
<el-button size="mini" type="primary" @click="updates(scope.row)">用户详情</el-button> <el-button size="mini" type="primary" @click="updates(scope.row)">用户详情</el-button>
<el-button size="mini" type="danger" :disabled="!isAuth('userList:delete')" <el-button size="mini" type="danger" :disabled="!isAuth('userList:delete')"
@click="deleteuser(scope.row)">删除用户</el-button> @click="deleteuser(scope.row)">删除用户</el-button>
<!-- <el-button size = "mini" type = "danger" @click = "updates1(scope.row)">封号</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -261,8 +287,7 @@
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount"> layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane> <el-tab-pane label="" name="second2">
<el-tab-pane label="赠送会员用户" name="second2">
<el-table v-loading="tableDataLoading" :data="tableData.list"> <el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="userName" label="昵称" width="150"> <el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
@ -351,7 +376,6 @@
<el-button size="mini" type="primary" @click="updates(scope.row)">用户详情</el-button> <el-button size="mini" type="primary" @click="updates(scope.row)">用户详情</el-button>
<el-button size="mini" type="danger" :disabled="!isAuth('userList:delete')" <el-button size="mini" type="danger" :disabled="!isAuth('userList:delete')"
@click="deleteuser(scope.row)">删除用户</el-button> @click="deleteuser(scope.row)">删除用户</el-button>
<!-- <el-button size = "mini" type = "danger" @click = "updates1(scope.row)">封号</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -361,7 +385,7 @@
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount"> layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane> -->
<el-tab-pane label="普通用户" name="third"> <el-tab-pane label="普通用户" name="third">
<el-table v-loading="tableDataLoading" :data="tableData.list"> <el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="userName" label="昵称" width="150"> <el-table-column fixed prop="userName" label="昵称" width="150">
@ -387,8 +411,8 @@
<el-table-column prop="invitationCode" label="邀请码"></el-table-column> <el-table-column prop="invitationCode" label="邀请码"></el-table-column>
<el-table-column label="邀请人邀请码"> <el-table-column label="邀请人邀请码">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="color: #4f9dec;cursor: pointer;" <span style="color: #4f9dec;cursor: pointer;" @click="updates2(scope.row.inviterCode)">{{
@click="updates2(scope.row.inviterCode)">{{ scope.row.inviterCode ? scope.row.inviterCode : '未绑定' }}</span> scope.row.inviterCode ? scope.row.inviterCode : '未绑定' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="qdCode" label="渠道码"></el-table-column> <el-table-column prop="qdCode" label="渠道码"></el-table-column>
@ -396,7 +420,8 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.rate ? scope.row.rate : '0' }}</span> <span>{{ scope.row.rate ? scope.row.rate : '0' }}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')" <el-button size="mini" :disabled="!isAuth('userList:updatebl')"
style="color: #4f9dec;background: #fff;border: none;" @click="xiugai(scope.row,'rate')"> style="color: #4f9dec;background: #fff;border: none;"
@click="xiugai(scope.row, 'rate')">
修改</el-button> 修改</el-button>
</span> </span>
</template> </template>
@ -405,7 +430,8 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.twoRate ? scope.row.twoRate : '0' }}</span> <span>{{ scope.row.twoRate ? scope.row.twoRate : '0' }}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')" <el-button size="mini" :disabled="!isAuth('userList:updatebl')"
style="color: #4f9dec;background: #fff;border: none;" @click="xiugai(scope.row,'twoRate')"> style="color: #4f9dec;background: #fff;border: none;"
@click="xiugai(scope.row, 'twoRate')">
修改</el-button> 修改</el-button>
</span> </span>
</template> </template>
@ -455,6 +481,108 @@
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="代理用户" name="second2">
<el-table v-loading="tableDataLoading" :data="tableData.list">
<el-table-column fixed prop="userName" label="昵称" width="150">
<template slot-scope="scope">
<span style="color: #f56c6c;">{{ scope.row.userName ? scope.row.userName : '未绑定' }}</span>
</template>
</el-table-column>
<el-table-column label="图像">
<template slot-scope="scope">
<img v-if="scope.row.avatar == null" src="~@/assets/img/avatar.png" alt="" width="40"
height="40">
<img v-else :src="scope.row.avatar" alt="" width="40" height="40">
</template>
</el-table-column>
<el-table-column prop="phone" label="手机号">
<template slot-scope="scope">
<span style="color: #4f9dec;cursor: pointer;" @click="updates(scope.row)">
{{ scope.row.phone ? scope.row.phone : '未绑定' }}
</span>
</template>
</el-table-column>
<el-table-column prop="sysUserName" label="分销商"></el-table-column>
<el-table-column prop="invitationCode" label="邀请码"></el-table-column>
<el-table-column label="邀请人邀请码">
<template slot-scope="scope">
<span style="color: #4f9dec;cursor: pointer;" @click="updates2(scope.row.inviterCode)">{{
scope.row.inviterCode ? scope.row.inviterCode : '未绑定' }}</span>
</template>
</el-table-column>
<el-table-column prop="qdCode" label="渠道码"></el-table-column>
<el-table-column prop="vipType" label="会员类型">
<template slot-scope="scope">
<span v-if="scope.row.vipType == 2">充值会员</span>
<span v-else-if="scope.row.vipType == 1">赠送会员</span>
<span v-else> - </span>
</template>
</el-table-column>
<el-table-column prop="rate" label="一级推广收益比例" width="150">
<template slot-scope="scope">
<span>{{ scope.row.rate ? scope.row.rate : '0' }}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')"
style="color: #4f9dec;background: #fff;border: none;"
@click="xiugai(scope.row, 'rate')">
修改</el-button>
</span>
</template>
</el-table-column>
<el-table-column prop="twoRate" label="二级推广收益比例" width="150">
<template slot-scope="scope">
<span>{{ scope.row.twoRate ? scope.row.twoRate : '0' }}</span>
<el-button size="mini" :disabled="!isAuth('userList:updatebl')"
style="color: #4f9dec;background: #fff;border: none;"
@click="xiugai(scope.row, 'twoRate')">
修改</el-button>
</span>
</template>
</el-table-column>
<el-table-column prop="platform" label="渠道来源">
<template slot-scope="scope">
<span>{{ scope.row.platform ? scope.row.platform : '-' }}</span>
</template>
</el-table-column>
<el-table-column prop="zhifubaoName" label="支付宝名称">
<template slot-scope="scope">
<span>{{ scope.row.zhifubaoName ? scope.row.zhifubaoName : '未绑定' }}</span>
</template>
</el-table-column>
<el-table-column prop="zhifubao" label="支付宝账号">
<template slot-scope="scope">
<span>{{ scope.row.zhifubao ? scope.row.zhifubao : '未绑定' }}</span>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="160"></el-table-column>
<el-table-column prop="state " label="状态">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" @change="change(scope.row.state, scope.row.userId)"
:active-value="openValue" :inactive-value="closeValue" active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-button size="mini" type="warning" @click="updateVip(scope.row)"
:disabled="!isAuth('userList:updateVip')" v-if="scope.row.member != 2">设置会员</el-button>
<el-button size="mini" type="warning" @click="quxiaoVip(scope.row)"
:disabled="!isAuth('userList:updateVip')" v-if="scope.row.member == 2" plain>取消会员
</el-button>
<el-button size="mini" type="primary" @click="updates(scope.row)">用户详情</el-button>
<el-button size="mini" type="danger" :disabled="!isAuth('userList:delete')"
@click="deleteuser(scope.row)">删除用户</el-button>
</template>
</el-table-column>
</el-table>
<div style="text-align: center;margin-top: 10px;">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
layout="total,sizes, prev, pager, next,jumper" :total="tableData.totalCount">
</el-pagination>
</div>
</el-tab-pane>
<!-- 修改比例 --> <!-- 修改比例 -->
<el-dialog :title="titleBl" :visible.sync="dialogFormVisible2" center> <el-dialog :title="titleBl" :visible.sync="dialogFormVisible2" center>
<div style="margin-bottom: 10px;"> <div style="margin-bottom: 10px;">
@ -467,6 +595,18 @@
<el-button type="primary" @click="StairNoticeTo2()"> </el-button> <el-button type="primary" @click="StairNoticeTo2()"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 修改金额 -->
<el-dialog :title="titleBl" :visible.sync="dialogFormVisible3" center>
<div style="margin-bottom: 10px;">
<span style="width: 200px;display: inline-block;text-align: right;">金额</span>
<el-input style="width:50%;" v-model="proportion" type="number" :min="0" :controls="false"
:placeholder="titleBl"></el-input>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible3 = false"> </el-button>
<el-button type="primary" @click="StairNoticeTo3()"> </el-button>
</div>
</el-dialog>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>
@ -525,6 +665,7 @@
label: '抖音' label: '抖音'
},], },],
dialogFormVisible2: false, dialogFormVisible2: false,
dialogFormVisible3: false,
titleBl: '修改佣金比例', titleBl: '修改佣金比例',
proportion: '', proportion: '',
invitationCode: '', invitationCode: '',
@ -533,30 +674,63 @@
sysUserName: '', sysUserName: '',
qdCode: '', qdCode: '',
vipType: '', vipType: '',
//
datatype: ''
} }
}, },
methods: { methods: {
releaseBlackout(d) {
// status 0 1
console.log(d.status,'debug')
this.$http({
url: this.$http.adornUrl(`user/removeUserBlack`),
method: 'get',
params: {
'userId': d.userId,
status: d.status == 0 ? "0": "1"
}
}).then(({
data
}) => {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dataSelect()
}
})
})
},
// tabs // tabs
handleClick(tab, event) { handleClick(tab, event) {
this.page = 1 this.page = 1
if (tab._props.label == '全部用户') { if (tab._props.label == '全部用户') {
this.member = -1 this.member = -1
this.vipType = '' this.vipType = ''
this.datatype = ''
this.dataSelect() this.dataSelect()
} }
if (tab._props.label == '充值会员用户') { // if (tab._props.label == '') {
this.member = 2 // this.member = 2
this.vipType = 2 // this.vipType = 2
this.dataSelect() // this.dataSelect()
} // }
if (tab._props.label == '赠送会员用户') { // if (tab._props.label == '') {
this.member = 2 // this.member = 2
this.vipType = 1 // this.vipType = 1
this.dataSelect() // this.dataSelect()
} // }
if (tab._props.label == '普通用户') { if (tab._props.label == '普通用户') {
this.member = 1 this.member = 1
this.vipType = '' this.vipType = ''
this.datatype = 0
this.dataSelect()
}
if (tab._props.label == '代理用户') {
// this.member = 2
this.datatype = 1
this.vipType = ''
this.dataSelect() this.dataSelect()
} }
@ -584,12 +758,13 @@
}) })
}, },
// //
updates(row) { updates(row,active="first") {
console.log("`````", row.userId) console.log("`````", row.userId)
this.$router.push({ this.$router.push({
path: '/userDetail', path: '/userDetail',
query: { query: {
userId: row.userId userId: row.userId,
active: active
} }
}) })
}, },
@ -709,7 +884,8 @@
'startTime': this.startTime, 'startTime': this.startTime,
'endTime': this.endTime, 'endTime': this.endTime,
'sysUserName': this.sysUserName, 'sysUserName': this.sysUserName,
'vipType':this.vipType 'vipType': this.vipType,
delegate: this.datatype
}) })
}).then(({ }).then(({
data data
@ -803,10 +979,17 @@
this.proportion = row.twoRate this.proportion = row.twoRate
} }
this.texts = text this.texts = text
this.userIdss = row.userId this.userIdss = row.userId
this.dialogFormVisible2 = true this.dialogFormVisible2 = true
}, },
xiugai2(row, text) {
this.titleBl = '修改下级每日达标奖励'
this.userIdss = row.userId
this.proportion = row.inviteAmount
this.dialogFormVisible3 = true
},
StairNoticeTo2() { StairNoticeTo2() {
var datas = {} var datas = {}
if (this.texts == 'rate') { if (this.texts == 'rate') {
@ -848,6 +1031,36 @@
}) })
}, },
StairNoticeTo3() {
this.$http({
url: this.$http.adornUrl('user/inviteAmount'),
method: 'post',
data: { userId: this.userIdss, inviteAmount: this.proportion }
}).then(({
data
}) => {
if (data.code == 0) {
this.$message({
message: '修改成功',
type: 'success',
duration: 1500,
onClose: () => {
this.dialogFormVisible3 = false
this.dataSelect()
}
})
} else {
this.$message({
message: data.msg,
type: 'warning',
duration: 1500,
onClose: () => {
}
})
}
})
},
// //
exportBtn() { exportBtn() {