优化:权重值明细优化 - 区分为变更明细和统计明细两种查看方式,默认显示变更明细
This commit is contained in:
parent
24e7139815
commit
39dac89841
|
|
@ -96,6 +96,7 @@ class TeamAgencyController extends BaseController
|
|||
'ranking' => ((int)$rankInfo['up_log'][$item['uid']] + 1),
|
||||
];
|
||||
}
|
||||
return [];
|
||||
},$rankList));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,23 +21,19 @@ class IndexController extends BaseController{
|
|||
*/
|
||||
public function index(){
|
||||
//参数获取
|
||||
$pageSize = request()->input('page_size',10);
|
||||
$search = request()->input('search');
|
||||
$showType = request()->input('show_type','show_detail');
|
||||
// 获取列表信息
|
||||
$result = WeightValue::getList($pageSize,$search);
|
||||
$data = [
|
||||
'list' => $result['data'],
|
||||
'pager' => PaginationHelper::show($result['total'],$result['current_page'],$result['per_page']),
|
||||
'search' => $search,
|
||||
'show_type' => $showType,
|
||||
'level_list' => TeamDividendLevelModel::getAll(['id','level_name'])
|
||||
];
|
||||
|
||||
return view('Yunshop\WeightValue::index.index',$data)->render();
|
||||
}
|
||||
/**
|
||||
* Common: 查看变更记录
|
||||
* Common: 变更记录 - 变更记录明细
|
||||
* Author: wu-hui
|
||||
* Time: 2023/10/16 17:48
|
||||
* Time: 2023/10/24 10:25
|
||||
* @return array|\Illuminate\Http\JsonResponse|string
|
||||
* @throws \Throwable
|
||||
*/
|
||||
|
|
@ -51,6 +47,7 @@ class IndexController extends BaseController{
|
|||
// 获取变更记录
|
||||
$field = [
|
||||
'id',
|
||||
'member_id',
|
||||
'team_dividend_agency_level_id',
|
||||
'change_type',
|
||||
'change_quantity',
|
||||
|
|
@ -60,6 +57,15 @@ class IndexController extends BaseController{
|
|||
'created_at'
|
||||
];
|
||||
$result = WeightValueLog::getList(10,$search,$field);
|
||||
// 根据经销商等级id分组 根据id大小排序 获取排序序号
|
||||
$group = WeightValue::uniacid()->groupBy('team_dividend_agency_level_id')->pluck('team_dividend_agency_level_id');
|
||||
$group = $group ? $group->toArray() : [];
|
||||
sort($group);
|
||||
$group = array_flip($group);
|
||||
// 循环处理数据
|
||||
foreach($result['data'] as &$item){
|
||||
$item['sort'] = $group[(int)$item['team_dividend_agency_level_id']];
|
||||
}
|
||||
|
||||
return $this->successJson('success',[
|
||||
'current_page' => $result['current_page'],
|
||||
|
|
@ -74,6 +80,23 @@ class IndexController extends BaseController{
|
|||
'is_get' => $isGet,
|
||||
])->render();
|
||||
}
|
||||
/**
|
||||
* Common: 变更记录 - 根据用户及等级分组统计
|
||||
* Author: wu-hui
|
||||
* Time: 2023/10/24 10:27
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function changeGroupRecord(){
|
||||
// 参数获取
|
||||
$pageSize = request()->input('page_size',10);
|
||||
$search = request()->input('search');
|
||||
$result = WeightValue::getList($pageSize,$search);
|
||||
return $this->successJson('success',[
|
||||
'current_page' => $result['current_page'],
|
||||
'data' => $result['data'],
|
||||
'last_page' => $result['last_page'],
|
||||
]);
|
||||
}
|
||||
/**
|
||||
* Common: 设置信息编辑
|
||||
* Author: wu-hui
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@
|
|||
<el-table-column align="center" prop="change_front" label="变更前持有数" width="150"></el-table-column>
|
||||
<el-table-column align="center" prop="change_type" label="变更类型" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.status === 0 ? 'danger' : 'success'" disable-transitions>
|
||||
[[scope.row.status === 0 ? '减少' : '增加']]
|
||||
<el-tag :type="scope.row.change_type == 0 ? 'danger' : 'success'" disable-transitions>
|
||||
[[scope.row.change_type == 0 ? '减少' : '增加']]
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
|||
|
|
@ -50,107 +50,256 @@
|
|||
background-color: #d9534f!important;
|
||||
}
|
||||
.panel-body .label{
|
||||
display: inline-block;
|
||||
margin-bottom: 2px;
|
||||
border-radius: 2px;
|
||||
font-size: 14px!important;
|
||||
padding: 5px !important;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.el-pagination{
|
||||
text-align: right!important;
|
||||
margin-top: 20px!important;
|
||||
}
|
||||
.panel-body{
|
||||
padding-top: 0;
|
||||
margin-bottom: 30px;
|
||||
overflow: auto;
|
||||
padding-right: 30px;
|
||||
}
|
||||
</style>
|
||||
@section('content')
|
||||
<div class="w1200 m0a" id="terminalMerchantsIndex">
|
||||
{{--顶部搜索--}}
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-body">
|
||||
<form action="" method="post" class="form-horizontal" role="form" id="form1">
|
||||
<div class="form-group">
|
||||
<div class="col-sm-11 col-xs-12">
|
||||
<div class="row row-fix tpl-category-container" >
|
||||
<div class="col-xs-12 col-sm-8 col-lg-3">
|
||||
<input class="form-control" name="search[member_id]" type="text" value="{{ $search['member_id'] }}" placeholder="用户ID">
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-8 col-lg-3">
|
||||
<select class="form-control" name="search[team_dividend_agency_level_id]">
|
||||
<option value="0" @if (!$search['team_dividend_agency_level_id']) selected="selected" @endif>全部</option>
|
||||
@foreach($level_list as $levelItem)
|
||||
<option value="{{$levelItem['id']}}" @if ($search['team_dividend_agency_level_id'] == $levelItem['id']) selected="selected" @endif>
|
||||
{{$levelItem['level_name']}}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-6 col-lg-6">
|
||||
<button class="btn btn-success" id="search"><i class="fa fa-search"></i> 搜索</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{{--信息列表--}}
|
||||
<div class="w1200 m0a" id="weightValueIndexContent">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body" style="padding-top: 0;margin-bottom: 30px;overflow: auto;padding-right: 30px;">
|
||||
<table class="table" style="min-width:1500px;overflow: auto;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align:center;width: 120px;">ID</th>
|
||||
<th style="text-align:left;">用户信息</th>
|
||||
<th style="text-align:center;">权重值类型</th>
|
||||
<th style="text-align:center;">
|
||||
<span class="label label-default">平台总数</span>
|
||||
<span class="label label-info">用户持有</span>
|
||||
<span class="label label-warning">占比(%)</span>
|
||||
</th>
|
||||
<th style="text-align:center;width: 350px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($list as $item)
|
||||
<tr style="height: 50px;">
|
||||
<td style="text-align:center;">{{ $item['id'] }}</td>
|
||||
<td style="text-align:left;" >
|
||||
<div class="panel-body">
|
||||
<el-tabs v-model="tabs_active" @tab-click="changeTabs">
|
||||
<el-tab-pane label="变更明细" name="show_detail">
|
||||
{{--搜索--}}
|
||||
<el-form :inline="true" :model="search_list">
|
||||
<el-form-item label="变更类型">
|
||||
<el-select v-model="search_list.change_type" placeholder="全部">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="减少" value="0"></el-option>
|
||||
<el-option label="增加" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="会员ID">
|
||||
<el-input v-model="search_list.member_id" placeholder="请输入会员ID"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="权重值类型">
|
||||
<el-select v-model="search_list.team_dividend_agency_level_id" placeholder="全部">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="(item,index) in level_list" :key="index" :label="item.level_name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="clickSearch">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
{{--表单--}}
|
||||
<el-table :data="list" style="width: 100%">
|
||||
<el-table-column align="center" prop="id" label="ID" width="80"></el-table-column>
|
||||
<el-table-column align="center" prop="member" label="用户信息" width="230">
|
||||
<template slot-scope="scope">
|
||||
<div class="user">
|
||||
<div class="user-avatar">
|
||||
<img class="avatar-image" src="{{$item['member']['avatar_image']}}" />
|
||||
<img class="avatar-image" :src="scope.row.member.avatar_image || ''" />
|
||||
</div>
|
||||
<div class="user-info">
|
||||
<div class="user-nickname">昵称:{{ $item['member']['nickname'] }}</div>
|
||||
<div class="user-status">ID:{{ $item['member']['uid'] }}</div>
|
||||
<div class="user-nickname">昵称:[[scope.row.member.nickname || '']]</div>
|
||||
<div class="user-status">ID:[[scope.row.member.uid || '']]</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align:center;">
|
||||
<span class="label level_{{$item['sort']}}">
|
||||
{{ $item['level'] ? $item['level']['level_name'].'权重值' : '' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="change_front" label="变更前持有数" width="150"></el-table-column>
|
||||
<el-table-column align="center" prop="change_type" label="变更类型" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.change_type == 0 ? 'danger' : 'success'" disable-transitions>
|
||||
[[scope.row.change_type == 0 ? '减少' : '增加']]
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="change_quantity" label="变更数量" width="150"></el-table-column>
|
||||
<el-table-column align="center" prop="change_after" label="变更后持有数" width="150"></el-table-column>
|
||||
<el-table-column align="center" prop="change_quantity" label="权重值类型" width="150">
|
||||
<template slot-scope="scope">
|
||||
<span :class="'label level_'+scope.row.sort">
|
||||
[[scope.row.level.level_name ? scope.row.level.level_name + '权重值' : '']]
|
||||
</span>
|
||||
</td>
|
||||
<td style="text-align:center;">
|
||||
<span class="label label-default">{{ $item['total_quantity'] }}</span>
|
||||
<span class="label label-info">{{ $item['quantity'] }}</span>
|
||||
<span class="label label-warning">{{ $item['ratio'].'%' }}</span>
|
||||
</td>
|
||||
<td style="text-align:center;">
|
||||
<button onclick="seeDetail({{$item['member_id']}},{{$item['team_dividend_agency_level_id']}})" type="button" class="btn btn-info btn-sm">
|
||||
变更明细
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
{!! $pager !!}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="remark" label="变更原因"></el-table-column>
|
||||
<el-table-column align="center" prop="created_at" label="变更时间" width="200"></el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="统计明细" name="show_group">
|
||||
{{--搜索--}}
|
||||
<el-form :inline="true" :model="search_list">
|
||||
<el-form-item label="会员ID">
|
||||
<el-input v-model="search_list.member_id" placeholder="请输入会员ID"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="权重值类型">
|
||||
<el-select v-model="search_list.team_dividend_agency_level_id" placeholder="全部">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="(item,index) in level_list" :key="index" :label="item.level_name" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="clickSearch">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
{{--表单--}}
|
||||
<el-table :data="list" style="width: 100%">
|
||||
<el-table-column align="center" prop="id" label="ID" width="100"></el-table-column>
|
||||
<el-table-column align="center" prop="member" label="用户信息" width="300">
|
||||
<template slot-scope="scope">
|
||||
<div class="user">
|
||||
<div class="user-avatar">
|
||||
<img class="avatar-image" :src="scope.row.member.avatar_image || ''" />
|
||||
</div>
|
||||
<div class="user-info">
|
||||
<div class="user-nickname">昵称:[[scope.row.member.nickname || '']]</div>
|
||||
<div class="user-status">ID:[[scope.row.member.uid || '']]</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="change_quantity" label="权重值类型">
|
||||
<template slot-scope="scope">
|
||||
<span :class="'label level_'+scope.row.sort">
|
||||
[[scope.row.level.level_name ? scope.row.level.level_name + '权重值' : '']]
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="change_front">
|
||||
<template slot="header" slot-scope="scope">
|
||||
<span class="label label-default">平台总数</span>
|
||||
<span class="label label-info">用户持有</span>
|
||||
<span class="label label-warning">占比(%)</span>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<span class="label label-default">[[scope.row.total_quantity || '0.00' ]]{{ $item['total_quantity'] }}</span>
|
||||
<span class="label label-info">[[scope.row.quantity || '0.00' ]]{{ $item['quantity'] }}</span>
|
||||
<span class="label label-warning">[[scope.row.ratio ? scope.row.ratio + '%' : '0.00' ]]</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="created_at" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" @click="seeDetail(scope.row.member_id,scope.row.team_dividend_agency_level_id)">变更明细</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
{{--分页--}}
|
||||
<el-pagination
|
||||
v-if="total_page > 1"
|
||||
background
|
||||
layout="prev, pager, next"
|
||||
:page-count="total_page"
|
||||
:current-page="page"
|
||||
@current-change="changePage">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
// 查看销售信息统计
|
||||
function seeDetail(member_id,level_id){
|
||||
let link = "{{yzWebUrl('plugin.weight-value.admin.index.changeRecord')}}" + `&member_id=${member_id}&level_id=${level_id}`;
|
||||
let popup = util.ajaxshow(link,'权重值变更明细',{
|
||||
width: $(window).width() * 0.8 > 1200 ? $(window).width() * 0.8 : 1200,
|
||||
height: $(window).height() * 0.8 > 1200 ? $(window).height() * 0.8 : 1200,
|
||||
});
|
||||
}
|
||||
new Vue({
|
||||
el: '#weightValueIndexContent',
|
||||
delimiters: ['[[', ']]'],
|
||||
name: 'weight_value_index_content',
|
||||
data: {
|
||||
tabs_active: 'show_detail',
|
||||
level_list: JSON.parse('{!! json_encode($level_list) !!}'),
|
||||
// 分页信息
|
||||
page: 1,
|
||||
total_page: 1,
|
||||
list: [],
|
||||
search_list: {
|
||||
member_id: '',
|
||||
team_dividend_agency_level_id: '',
|
||||
change_type: '',
|
||||
}
|
||||
},
|
||||
watch:{},
|
||||
mounted () {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 获取数据 根据当前选项卡获取对应的信息
|
||||
getData(){
|
||||
let _this = this;
|
||||
let loading = _this.showLoading();
|
||||
let link = "{!! yzWebUrl('plugin.weight-value.admin.index.changeRecord') !!}";
|
||||
if(_this.tabs_active === 'show_group') link = "{!! yzWebUrl('plugin.weight-value.admin.index.changeGroupRecord') !!}";
|
||||
$.ajax({
|
||||
url: link,
|
||||
type: "post",
|
||||
data: {
|
||||
page: _this.page,
|
||||
search: _this.search_list,
|
||||
is_get: 1
|
||||
},
|
||||
success: function(result) {
|
||||
loading.close(0);
|
||||
let data = result.data;
|
||||
if(parseInt(result.result) === 1){
|
||||
// 处理数据
|
||||
_this.list = data.data;
|
||||
_this.total_page = data.last_page;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 切换选项卡
|
||||
changeTabs(){
|
||||
this.page = 1;
|
||||
this.search_list = {
|
||||
member_id: '',
|
||||
team_dividend_agency_level_id: '',
|
||||
change_type: '',
|
||||
};
|
||||
this.total_page = 1;
|
||||
this.list = [];
|
||||
this.getData();
|
||||
},
|
||||
// 数据分页
|
||||
changePage(val){
|
||||
this.page = val;
|
||||
this.getData();
|
||||
},
|
||||
// 相关搜索
|
||||
clickSearch(){
|
||||
this.page = 1;
|
||||
this.getData()
|
||||
},
|
||||
// 显示加载动画
|
||||
showLoading(){
|
||||
return this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
},
|
||||
// 查看分组的变更明细
|
||||
seeDetail(member_id,level_id){
|
||||
let link = "{{yzWebUrl('plugin.weight-value.admin.index.changeRecord')}}" + `&member_id=${member_id}&level_id=${level_id}`;
|
||||
let popup = util.ajaxshow(link,'权重值变更明细',{
|
||||
width: $(window).width() * 0.8 > 1200 ? $(window).width() * 0.8 : 1200,
|
||||
height: $(window).height() * 0.8 > 1200 ? $(window).height() * 0.8 : 1200,
|
||||
});
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue