添加排行榜功能
This commit is contained in:
parent
05a4a8a0fb
commit
9b38be4697
|
@ -91,6 +91,7 @@ const mainRoutes = {
|
|||
{ path: '/signIn', component: _import('applyList/signIn'), name: 'signIn', meta: { title: '签到记录', isTab: true } },
|
||||
{ path: '/technician', component: _import('applyList/technician'), name: 'technician', meta: { title: '师傅列表', isTab: true } },
|
||||
{ path: '/riderTop', component: _import('riderTop/riderTop'), name: 'riderTop', meta: { title: '收益排行榜', isTab: true } },
|
||||
{ path: '/czlTop', component: _import('riderTop/czlTop'), name: 'czlTop', meta: { title: '排行榜', isTab: true } },
|
||||
// 2023.02.27 4.5版本 新增
|
||||
|
||||
{ path: '/masterPosition', component: _import('business/masterPosition'), name: 'masterPosition', meta: { title: '师傅位置记录', isTab: true } },
|
||||
|
@ -120,6 +121,7 @@ const mainRoutes = {
|
|||
// 商家管理
|
||||
{ path: '/merchantList', component: _import('business/merchantList'), name: 'merchantList', meta: { title: '商家管理', isTab: true } },
|
||||
{ path: '/profitList', component: _import('business/profitList'), name: 'profitList', meta: { title: '商家收益统计', isTab: false } },
|
||||
{ path: '/merchantDetailList', component: _import('business/merchantDetailList'), name: 'merchantDetailList', meta: { title: '商家信息', isTab: true } },
|
||||
// 2023.03.13 新增
|
||||
{ path: '/top', component: _import('riderTop/top'), name: 'top', meta: { title: '信用分排行榜', isTab: true } },
|
||||
{ path: '/creditScore', component: _import('riderTop/creditScore'), name: 'creditScore', meta: { title: '信用分明细', isTab: true } },
|
||||
|
|
|
@ -0,0 +1,400 @@
|
|||
<template>
|
||||
<div>
|
||||
<div style="display: inline-block;">
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>统计数据:</span>
|
||||
<el-select v-model="descType" style="width:150px;margin-left: 10px;" @change="select">
|
||||
<el-option label="在线时长" value="1"></el-option>
|
||||
<el-option label="业绩" value="2"></el-option>
|
||||
<el-option label="加钟率" value="3"></el-option>
|
||||
<el-option label="充值率" value="4"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>开始时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div style="margin:5px;display: inline-block;">
|
||||
<span>截止时间:</span>
|
||||
<el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right"
|
||||
type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="select">查询
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table v-loading="tableDataLoading" :data="homeData.records">
|
||||
<el-table-column label="编号" width="80">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.$index+1}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="artificerName" label="师傅昵称">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #4f9dec;cursor: pointer;" @click="updatesvideo(scope.row.userId)">
|
||||
{{scope.row.artificerName?scope.row.artificerName:'未绑定'}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="typeval" label="在线时长" v-if="descType==1">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="typeval" label="业绩" v-if="descType==2">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="typeval" label="加钟率" v-if="descType==3">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="typeval" label="充值率" v-if="descType==4">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="text-align: center;margin-top: 10px;">
|
||||
<el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="size" :current-page="page"
|
||||
layout="total,sizes, prev, pager, next,jumper" :total="homeData.total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
quillEditor
|
||||
} from 'vue-quill-editor'
|
||||
import 'quill/dist/quill.core.css'
|
||||
import 'quill/dist/quill.snow.css'
|
||||
import 'quill/dist/quill.bubble.css'
|
||||
import quillConfig from '../locality/quill-config.js'
|
||||
import axios from 'axios';
|
||||
import {
|
||||
jsonp
|
||||
} from 'vue-jsonp'
|
||||
import {
|
||||
provinceAndCityData,
|
||||
regionData,
|
||||
provinceAndCityDataPlus,
|
||||
regionDataPlus,
|
||||
CodeToText,
|
||||
TextToCode
|
||||
} from 'element-china-area-data'
|
||||
var cityOptions = []
|
||||
var geocoder, map, markersArray = [];
|
||||
export default {
|
||||
components: {
|
||||
quillEditor
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
size: 10,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
classify: 6,
|
||||
type: '',
|
||||
method: 'false',
|
||||
tableDataLoading: true,
|
||||
homeData: {},
|
||||
|
||||
choicenData: [],
|
||||
|
||||
userId: '',
|
||||
search: '',
|
||||
myPhone: '',
|
||||
classifyIds: 0,
|
||||
statusId: 1,
|
||||
|
||||
quillOption: quillConfig,
|
||||
|
||||
// x新的
|
||||
indentState: 0, //任务状态
|
||||
info: {
|
||||
stockDate: this.getNowTime(), //日期
|
||||
},
|
||||
info1: {
|
||||
stockDate1: this.getNowTime1(), //日期
|
||||
},
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
|
||||
fwData:[],
|
||||
classifyId:'',
|
||||
artificerName:'',
|
||||
descType:'1',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//处理默认选中当前日期
|
||||
getNowTime() {
|
||||
var now = new Date()
|
||||
var year = now.getFullYear() //得到年份
|
||||
var month = now.getMonth() //得到月份
|
||||
var date = now.getDate() //得到日期
|
||||
var hh = now.getHours() < 10 ? '0' + now.getHours() : now.getHours()
|
||||
var mm = now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes()
|
||||
var ss = now.getSeconds() < 10 ? '0' + now.getSeconds() : now.getSeconds()
|
||||
month = month + 1
|
||||
month = month.toString().padStart(2, '0')
|
||||
date = date.toString().padStart(2, '0')
|
||||
var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`
|
||||
return defaultDate
|
||||
this.$set(this.info, 'stockDate', defaultDate)
|
||||
},
|
||||
//处理默认选中当前日期
|
||||
getNowTime1() {
|
||||
var now = new Date();
|
||||
var year = now.getFullYear(); //得到年份
|
||||
var month = now.getMonth(); //得到月份
|
||||
var date = now.getDate(); //得到日期
|
||||
var hh = now.getHours() < 10 ? "0" + now.getHours() : now.getHours();
|
||||
var mm = now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes();
|
||||
var ss = now.getSeconds() < 10 ? "0" + now.getSeconds() : now.getSeconds();
|
||||
month = month + 1;
|
||||
month = month.toString().padStart(2, "0");
|
||||
date = date.toString().padStart(2, "0");
|
||||
var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`;
|
||||
return defaultDate;
|
||||
this.$set(this.info, "stockDate", defaultDate);
|
||||
},
|
||||
handleSizeChange1(val) {
|
||||
this.limit = val
|
||||
this.homeSelect()
|
||||
},
|
||||
handleCurrentChange1(val) {
|
||||
this.page = val
|
||||
this.homeSelect()
|
||||
},
|
||||
|
||||
// 获取社区数据列表
|
||||
homeSelect() {
|
||||
this.tableDataLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('artificer/selectArtificerPhbList'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'page': this.page,
|
||||
'limit': this.limit,
|
||||
'startTime': this.startTime,
|
||||
'endTime': this.endTime,
|
||||
'type': this.descType,
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
console.log("------>",data)
|
||||
this.tableDataLoading = false
|
||||
this.homeData = data.data
|
||||
})
|
||||
},
|
||||
// 详情跳转
|
||||
updatesvideo(userId) {
|
||||
if (userId) {
|
||||
this.$router.push({
|
||||
path: '/userDetail',
|
||||
query: {
|
||||
userId: userId
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$notify({
|
||||
title: '提示',
|
||||
duration: 1800,
|
||||
message: '未绑定用户',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
},
|
||||
// 查询
|
||||
select() {
|
||||
this.page = 1
|
||||
this.limit = 10
|
||||
this.homeSelect()
|
||||
},
|
||||
// 重置
|
||||
cleans() {
|
||||
this.classifyId = ''
|
||||
this.artificerName = ''
|
||||
this.address = ''
|
||||
this.flag = ''
|
||||
this.info.stockDate = this.getNowTime()
|
||||
this.homeSelect()
|
||||
},
|
||||
// 订单分析选择日期
|
||||
animeOrder() {
|
||||
console.log('info', this.info)
|
||||
this.homeSelect()
|
||||
// this.colonel()
|
||||
},
|
||||
// 订单分析年月日
|
||||
orderfenxi(value) {
|
||||
this.page = 1
|
||||
let vanumber = value
|
||||
// if (vanumber === 1) {
|
||||
this.flag = value
|
||||
this.homeSelect()
|
||||
// this.colonel()
|
||||
// }
|
||||
// if (vanumber === 2) {
|
||||
// this.flag = 2
|
||||
// this.taskData()
|
||||
// this.colonel()
|
||||
// }
|
||||
// if (vanumber === 3) {
|
||||
// this.flag = 3
|
||||
// this.taskData()
|
||||
// this.colonel()
|
||||
// }
|
||||
},
|
||||
// 项目类型
|
||||
fwSelect() {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('sys/dict/selectDictList'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'type': '服务类型'
|
||||
})
|
||||
}).then(({
|
||||
data
|
||||
}) => {
|
||||
let returnData = data.data
|
||||
this.fwData = returnData
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.homeSelect()
|
||||
this.fwSelect()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.customWidth {
|
||||
width: 80% !important;
|
||||
}
|
||||
|
||||
.adver_main.box {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
text-align: center;
|
||||
border: 1px dotted rgba(67, 79, 103, .4);
|
||||
}
|
||||
|
||||
.cards {
|
||||
padding: 0 8px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.adver_main.box a {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
height: 150px;
|
||||
line-height: 150px;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.bannerManin {
|
||||
border: 1px solid #e8e8e8;
|
||||
font-size: 14px;
|
||||
padding: 0 24px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 113px;
|
||||
color: rgba(0, 0, 0, .65);
|
||||
}
|
||||
|
||||
.bannerManin span {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.bannerManin img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.bannerbtn {
|
||||
display: flex;
|
||||
border-top: none !important;
|
||||
border: 1px solid #e8e8e8;
|
||||
padding: 11px;
|
||||
font-size: 14px;
|
||||
color: #3E8EF7;
|
||||
}
|
||||
|
||||
.bannerbtn a {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
color: #3E8EF7 !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.imgs {
|
||||
position: relative;
|
||||
border-radius: 6px;
|
||||
width: 148px;
|
||||
height: 148px;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dels {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dels .el-icon-delete {
|
||||
line-height: 148px;
|
||||
padding-left: 58px;
|
||||
font-size: 25px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.imgs:hover .dels {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
display: block;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.bqList {
|
||||
padding: 4px 14px;
|
||||
margin: 4px;
|
||||
border: 1px solid #efefef;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
border-radius: 4px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.delss {
|
||||
display: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.delss .el-icon-delete {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.bqList:hover .delss {
|
||||
display: initial;
|
||||
opacity: 0.5;
|
||||
|
||||
}
|
||||
|
||||
.tj {
|
||||
padding: 6px !important;
|
||||
margin: 4px;
|
||||
font-size: 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue