Commit 63781579 authored by yaya's avatar yaya

feat:处理会员详情

parent f90cd497
......@@ -63,11 +63,33 @@ export function listHistory(query) {
params: query
})
}
export function fansList(query) {
export function fansList(data) {
return request({
url: '/history/list',
method: 'get',
params: query
url: '/user/findDetailList',
method: 'post',
data
})
}
export function requestUserDetail(data) {
return request({
url: '/user/findDetail',
method: 'post',
data
})
}
export function updateCollectorPermission(data) {
return request({
url: '/user/updateCollectorPermission',
method: 'post',
data
})
}
export function updateAccountState(data) {
return request({
url: '/user/updateAccountState',
method: 'post',
data
})
}
......@@ -6,6 +6,7 @@
<el-input v-model="listQuery.username" clearable size="small" class="filter-item" style="width: 200px;" placeholder="请输入用户名"/>
<el-input v-model="listQuery.mobile" clearable size="small" class="filter-item" style="width: 200px;" placeholder="请输入手机号"/>
<el-button class="filter-item" type="primary" size="mini" icon="el-icon-search" @click="handleFilter">查找</el-button>
<el-button class="filter-item" type="primary" size="mini" @click="handleReset">重置</el-button>
<el-button :loading="downloadLoading" size="mini" class="filter-item" type="warning" icon="el-icon-download" @click="handleDownload">导出</el-button>
</div>
......@@ -17,7 +18,7 @@
<el-table-column align="center" label="手机号码" prop="mobile"/>
<el-table-column align="center" label="性别" prop="gender">
<!-- <el-table-column align="center" label="性别" prop="gender">
<template slot-scope="scope">
{{ genderDic[scope.row.gender] }}
</template>
......@@ -29,18 +30,21 @@
<template slot-scope="scope">
{{ levelDic[scope.row.userLevel] }}
</template>
</el-table-column>
<el-table-column align="center" label="TA的关注" prop="addTime"/>
<el-table-column align="center" label="TA的粉丝" prop="addTime"/>
</el-table-column>-->
<el-table-column align="center" label="角色" prop="userLevelName"/>
<el-table-column align="center" label="TA的关注" prop="followerNum"/>
<el-table-column align="center" label="TA的粉丝" prop="fansNum"/>
<el-table-column align="center" label="创建时间" prop="addTime"/>
<el-table-column align="center" label="状态" prop="status">
<template slot-scope="scope">
{{ statusDic[scope.row.status] }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="200" class-name="small-padding fixed-width">
<el-table-column align="center" label="操作" width="350" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleToUserDetail(scope.row)">详情</el-button>
<el-button type="primary" size="mini" style="width: 100px" @click="handleSetUserState(scope.row)">{{ scope.row.userLevel >= 2 ? '关闭藏家权限' : '开通藏家权限' }}</el-button>
<el-button type="danger" size="mini" style="width: 100px" @click="handleSetAccountState(scope.row)">{{ scope.row.status === 1 ? '解封账号' : '冻结账号' }}</el-button>
<!-- <el-button v-permission="['GET /admin/user/detailApprove']" v-if="scope.row.status==0 && scope.row.userLevel==2" type="primary" size="mini" @click="handleDetail(scope.row)">推广代理</el-button>-->
<!-- <el-button v-permission="['POST /admin/user/approveAgency']" v-else-if="scope.row.status==3" type="primary" size="mini" @click="handleApproveAgency(scope.row)">审批</el-button>-->
<!-- <el-button v-permission="['GET /admin/user/detailApprove']" v-else type="info" size="mini" >非代理</el-button>-->
......@@ -52,7 +56,7 @@
<pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
<!-- 详情对话框 -->
<el-dialog :visible.sync="detailDialogVisible" title="代理详情" width="700">
<!-- <el-dialog :visible.sync="detailDialogVisible" title="代理详情" width="700">
<el-form :data="agencyDetail" label-position="left">
<el-form-item label="佣金比例(%)">
<span>{{ agencyDetail.settlementRate }}</span>
......@@ -62,7 +66,7 @@
</el-form-item>
</el-form>
</el-dialog>
<!-- 代理审批 -->
&lt;!&ndash; 代理审批 &ndash;&gt;
<el-dialog :visible.sync="approveDialogVisible" title="代理审批">
<el-form ref="approveForm" :model="approveForm" status-icon label-position="left" label-width="100px" style="width: 400px; margin-left:50px;">
<el-form-item label="佣金比例(%)" prop="settlementRate">
......@@ -73,13 +77,13 @@
<el-button @click="approveDialogVisible = false">取消</el-button>
<el-button type="primary" @click="confirmApprove">确定</el-button>
</div>
</el-dialog>
</el-dialog>-->
</div>
</template>
<script>
import { fetchList, approveAgency, detailApprove } from '@/api/business/user'
import { fetchList, approveAgency, detailApprove, updateCollectorPermission, updateAccountState } from '@/api/business/user'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
export default {
......@@ -127,6 +131,13 @@ export default {
this.listLoading = false
})
},
handleReset() {
this.listQuery = {
page: 1,
limit: 20
}
this.getList()
},
handleFilter() {
this.listQuery.page = 1
this.getList()
......@@ -156,6 +167,89 @@ export default {
handleToUserDetail(row) {
this.$router.push({ path: '/user/userDetail', query: { id: row.id }})
},
handleSetUserState(row) {
const tip = row.userLevel >= 2 ? '是否要关闭当前用户的藏家功能权限?' : '是否为当前用户开通藏家功能权限?'
const successTip = row.userLevel >= 2 ? '关闭成功' : '开通成功'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = {
id: row.id,
flag: row.userLevel >= 2 ? 0 : 1
}
// userLevel: 0 普通用 1: 分销商 2 藏家 3分销商&藏家
updateCollectorPermission(params).then(response => {
this.list = this.list.filter((item) => {
if (item.id === row.id) {
if (row.userLevel === 0) {
item.userLevel = 2
item.userLevelName = '藏家'
} else if (row.userLevel === 1) {
item.userLevel = 3
item.userLevelName = '分销商、藏家'
} else if (row.userLevel === 2) {
item.userLevel = 0
item.userLevelName = '普通用户'
} else if (row.userLevel === 3) {
item.userLevel = 1
item.userLevelName = '分销商'
}
return item
}
return item
})
this.$notify.success({
message: successTip
})
}).catch((e) => {
this.$notify({
title: '提示',
message: e.message || '请求失败, 请重试',
type: 'warning'
})
})
})
},
/**
* 修改用户状态
* @param row
*/
handleSetAccountState(row) {
const tip = row.status === 1 ? '是否要解封当前用户的账号?' : '是否要冻结当前用户的账号?'
const successTip = row.status === 1 ? '解封成功' : '冻结成功'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const params = {
id: row.id,
status: row.status === 1 ? 0 : 1
}
updateAccountState(params).then(response => {
this.list = this.list.filter((item) => {
if (item.id === row.id) {
item.status = row.status === 1 ? 0 : 1
return item
}
return item
})
this.$notify.success({
message: successTip
})
}).catch((e) => {
console.log('===报错=', e)
this.$notify({
title: '提示',
message: e.message || '请求失败, 请重试',
type: 'warning'
})
})
})
},
confirmApprove() {
this.$refs['approveForm'].validate((valid) => {
if (valid) {
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment