0704
This commit is contained in:
parent
13e22dd1ff
commit
2eb20caf39
@ -12,6 +12,17 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="评价标准" prop="standard">
|
||||
<el-select v-model="queryParams.standard" placeholder="请选择评价标准" clearable>
|
||||
<el-option
|
||||
v-for="dict in standardList"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="驾校名称" prop="jxName">
|
||||
<el-input
|
||||
v-model="queryParams.jxName"
|
||||
@ -29,6 +40,7 @@
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
@ -75,12 +87,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="驾校名称" align="center" prop="jxName" />-->
|
||||
<el-table-column label="用户" align="center" prop="userName" />
|
||||
<el-table-column label="学员" align="center" prop="userName" />
|
||||
<!-- <el-table-column label="驾校评价" align="center" prop="content" />-->
|
||||
<el-table-column label="教练名称" align="center" prop="coachName" />
|
||||
<el-table-column label="技术评价" align="center" prop="teachContent" />
|
||||
<el-table-column label="服务评价" align="center" prop="serviceContent" />
|
||||
<el-table-column label="满意度" align="center" prop="rate" />
|
||||
<el-table-column label="教学质量" align="center" prop="teachingQuality" />
|
||||
<el-table-column label="教学质量评价内容" align="center" prop="teachContent" show-overflow-tooltip/>
|
||||
<el-table-column label="教学态度" align="center" prop="teachingAttitude" />
|
||||
<el-table-column label="教学态度评价内容" align="center" prop="serviceContent" show-overflow-tooltip/>
|
||||
<el-table-column label="总体评分" align="center" prop="rate" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<!-- <el-button
|
||||
@ -163,7 +177,21 @@ export default {
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
}
|
||||
},
|
||||
standardList: [
|
||||
{
|
||||
value: '优',
|
||||
label: '优'
|
||||
},
|
||||
{
|
||||
value: '良',
|
||||
label: '良'
|
||||
},
|
||||
{
|
||||
value: '差',
|
||||
label: '差'
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
@ -158,13 +158,29 @@
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-card class="box-card" shadow="hover" style="margin-bottom: 20px;" @click.native="handleFinanceCardClick('unpaidAmount')">
|
||||
<div class="card_msg_2">
|
||||
<div class="card_2_font">待付款金额:{{ formatAmount(dataObj.moneyInfo.outAmount - dataObj.moneyInfo.showedPayIsPaid) }}
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>-->
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-card class="box-card" shadow="hover" style="margin-bottom: 20px;"
|
||||
@click.native="handleFinanceCardClick('unpaidAmount')"
|
||||
>
|
||||
<div class="card_msg_2">
|
||||
<div class="card_2_font">
|
||||
业务经理补贴:{{ formatAmount(dataObj.moneyInfo.businessManagerMoneyTotal) }}
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
@ -628,6 +644,70 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 财务(业务经理)详情弹框 提成部分 -->
|
||||
<el-dialog
|
||||
:title="cashierDetailTitle"
|
||||
:visible.sync="businessDetailVisible"
|
||||
width="90%"
|
||||
top="8vh"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
@close="handleBusinessDetailClose">
|
||||
|
||||
<el-table
|
||||
:data="businessDetailList"
|
||||
style="width: 100%"
|
||||
border
|
||||
v-loading="businessDetailLoading">
|
||||
<el-table-column prop="createTime" label="报名日期" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.createTime">{{ formatDateTime(scope.row.createTime) }}</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="courseName" label="课程名称" align="center" ></el-table-column>
|
||||
<el-table-column prop="name" label="学生姓名" align="center" width="120"></el-table-column>
|
||||
<el-table-column prop="idCard" label="身份证号" align="center" width="180"></el-table-column>
|
||||
<el-table-column label="学员手机号" align="center" prop="phone" width="150"/>
|
||||
<el-table-column prop="channel" label="来源" align="center"></el-table-column>
|
||||
<el-table-column prop="subsidy" label="补贴金额" align="center"></el-table-column>
|
||||
<el-table-column prop="reserveMoney" label="订单金额" align="center" width="120px"></el-table-column>
|
||||
<el-table-column label="支付状态" align="center" prop="paymentStatus" width="90px" :formatter="formatPaymentStatus" />
|
||||
<el-table-column label="支付方式" align="center" prop="payType" width="90px" :formatter="formatPayType" />
|
||||
<!-- <el-table-column label="是否面签" align="center" prop="isSign" :formatter="formatIsSign" />-->
|
||||
<el-table-column prop="isSign" label="是否面签" align="center" width="90px">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.isSign == 1" type="success">是</el-tag>
|
||||
<el-tag v-if="scope.row.isSign == 0" type="danger">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ifEnd" label="是否终止" align="center" width="90px">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.ifEnd == '1'" type="success">是</el-tag>
|
||||
<el-tag v-if="scope.row.ifEnd == '0'" type="danger">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
<div class="pagination-container" v-if="businessDetailTotal > 0">
|
||||
<el-pagination
|
||||
@size-change="handleBusinessDetailSizeChange"
|
||||
@current-change="handleBusinessDetailPageChange"
|
||||
:current-page="queryParams.pageNo"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="queryParams.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="businessDetailTotal">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="businessDetailVisible = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -642,7 +722,7 @@ import {
|
||||
getCoachMoney,
|
||||
getOrderMoneyByCoachId,
|
||||
getCoachTotalCommission,
|
||||
getCommissionListByCoachId
|
||||
getCommissionListByCoachId, getBusinessManagerMoney, getBusinessManager
|
||||
} from '@/views/drivingSchool/DriveSchoolStatistics/api'
|
||||
import * as echarts from 'echarts';
|
||||
|
||||
@ -758,6 +838,13 @@ export default {
|
||||
cashierDetailTotal: 0,
|
||||
|
||||
|
||||
businessDetailVisible: false,
|
||||
businessDetailList: [],
|
||||
businessDetailLoading: false,
|
||||
businessDetailTotal: 0,
|
||||
businessDetail: null,
|
||||
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
@ -1123,7 +1210,7 @@ export default {
|
||||
'unconfirmedReceive': '待确认收款明细',
|
||||
'outAmount': '应付金额明细',
|
||||
'showedPayIsPaid': '已确认付款明细',
|
||||
'unpaidAmount': '待付款明细'
|
||||
'unpaidAmount': '业务经理补贴明细'
|
||||
};
|
||||
|
||||
|
||||
@ -1168,10 +1255,9 @@ export default {
|
||||
this.queryParams.ifPay = null
|
||||
this.queryParams.startTimeStr = this.queryParams.startTime
|
||||
this.queryParams.endTimeStr = this.queryParams.endTime
|
||||
if(type !== 'unpaidAmount'){
|
||||
if(type === "showedPayIsPaid"){
|
||||
this.queryParams.ifPay = '1'
|
||||
}else if(type === "unpaidAmount"){
|
||||
this.queryParams.ifPay = '0'
|
||||
}
|
||||
const requestParams = {
|
||||
...this.queryParams,
|
||||
@ -1182,6 +1268,13 @@ export default {
|
||||
this.cashierDataList = res.data;
|
||||
console.log('cashierDataList', this.cashierDataList)
|
||||
})
|
||||
}else if(type === 'unpaidAmount'){
|
||||
return getBusinessManagerMoney(this.queryParams).then(res => {
|
||||
console.log('res', res)
|
||||
this.cashierDataList = res.data;
|
||||
console.log('cashierDataList', this.cashierDataList)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 显示财务详情
|
||||
@ -1204,18 +1297,35 @@ export default {
|
||||
// 显示财务 提成部分详情
|
||||
showCashierDetail(row) {
|
||||
console.log('row', row)
|
||||
this.queryParams.pageNo = 1;
|
||||
this.cashierDetail = row;
|
||||
this.cashierDetailLoading = true;
|
||||
this.cashierDetailVisible = true;
|
||||
this.cashierDetailTitle = `${row.coachName}的${this.cashierDialogTitle}`;
|
||||
if(!row.hasOwnProperty('coachId')){
|
||||
this.queryParams.pageNo = 1;
|
||||
this.cashierDetail = row;
|
||||
this.cashierDetailLoading = true;
|
||||
this.cashierDetailVisible = true;
|
||||
this.cashierDetailTitle = `${row.coachName}的${this.cashierDialogTitle}`;
|
||||
|
||||
// 保存当前财务类型
|
||||
this.currentCashierTypeForDetail = this.currentCashierType;
|
||||
|
||||
this.getCashierDetail(row.coachUserId).finally(() => {
|
||||
this.cashierDetailLoading = false;
|
||||
});
|
||||
}else if(row.hasOwnProperty('coachId')){
|
||||
this.queryParams.pageNo = 1;
|
||||
this.businessDetail = row;
|
||||
this.businessDetailLoading = true;
|
||||
this.businessDetailVisible = true;
|
||||
this.cashierDetailTitle = `${row.coachName}的${this.cashierDialogTitle}`;
|
||||
|
||||
// 保存当前财务类型
|
||||
this.currentCashierTypeForDetail = this.currentCashierType;
|
||||
|
||||
this.getBusinessDetail(row.coachId).finally(() => {
|
||||
this.businessDetailLoading = false;
|
||||
});
|
||||
}
|
||||
|
||||
// 保存当前财务类型
|
||||
this.currentCashierTypeForDetail = this.currentCashierType;
|
||||
|
||||
this.getCashierDetail(row.coachUserId).finally(() => {
|
||||
this.cashierDetailLoading = false;
|
||||
});
|
||||
},
|
||||
|
||||
handleFinanceDetailClose() {
|
||||
@ -1247,6 +1357,20 @@ export default {
|
||||
this.queryParams.pageNo = 1;
|
||||
},
|
||||
|
||||
handleBusinessDetailClose() {
|
||||
// 重置教练ID和现金确认状态
|
||||
this.queryParams.coachId = null;
|
||||
this.queryParams.ifPay = null;
|
||||
|
||||
// 重新获取财务数据
|
||||
if (this.currentCashierTypeForDetail) {
|
||||
this.getCashierData(this.currentCashierTypeForDetail);
|
||||
}
|
||||
|
||||
// 重置分页参数
|
||||
this.queryParams.pageNo = 1;
|
||||
},
|
||||
|
||||
// 获取教练财务详情
|
||||
getFinanceDetail(coachId) {
|
||||
this.queryParams.startTimeStr = this.queryParams.startTime
|
||||
@ -1276,6 +1400,20 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
getBusinessDetail(coachId) {
|
||||
this.queryParams.startTimeStr = this.queryParams.startTime
|
||||
this.queryParams.endTimeStr = this.queryParams.endTime
|
||||
this.queryParams.coachId = coachId;
|
||||
const requestParams = {
|
||||
...this.queryParams,
|
||||
};
|
||||
delete requestParams.endTime;
|
||||
return getBusinessManager(requestParams).then(res => {
|
||||
this.businessDetailList = res.data.records;
|
||||
this.businessDetailTotal = res.data.total;
|
||||
});
|
||||
},
|
||||
|
||||
// 财务详情分页大小改变
|
||||
handleFinanceDetailSizeChange(val) {
|
||||
console.log('val', val)
|
||||
@ -1306,6 +1444,46 @@ export default {
|
||||
this.getCashierDetail(this.cashierDetail.coachUserId);
|
||||
},
|
||||
|
||||
// 财务(业务经理)提成部分详情分页大小改变
|
||||
handleBusinessDetailSizeChange(val) {
|
||||
console.log('val', val)
|
||||
this.queryParams.pageSize = val;
|
||||
this.queryParams.pageNo = 1; // 重置页码
|
||||
this.getCashierDetail(this.cashierDetail.coachId);
|
||||
},
|
||||
|
||||
// 财务(业务经理)提成部分详情页码改变
|
||||
handleBusinessDetailPageChange(val) {
|
||||
console.log('val', val)
|
||||
this.queryParams.pageNo = val;
|
||||
this.getCashierDetail(this.cashierDetail.coachId);
|
||||
},
|
||||
|
||||
formatPaymentStatus(row, column, value) {
|
||||
const map = {
|
||||
0: '待支付',
|
||||
1: '已取消',
|
||||
2: '已支付',
|
||||
3: '待面签',
|
||||
4: '已面签',
|
||||
5: '已完成',
|
||||
6: '申请退款',
|
||||
7: '退款中',
|
||||
8: '退款成功'
|
||||
};
|
||||
return map[value] ?? '未知状态';
|
||||
},
|
||||
|
||||
formatPayType(row, column, value) {
|
||||
const map = {
|
||||
1: '定金',
|
||||
2: '全款'
|
||||
};
|
||||
return map[value] ?? '未知类型';
|
||||
},
|
||||
formatIsSign(row, column, value) {
|
||||
return value === 1 ? '是' : '否';
|
||||
},
|
||||
|
||||
// 初始化ECharts图
|
||||
initCharts() {
|
||||
|
@ -176,7 +176,6 @@
|
||||
<el-collapse-item title="出纳确认" name="2">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
||||
<el-form-item label="是否到账" prop="cashierConfirm" >
|
||||
<el-select v-model="formData.cashierConfirm" placeholder="待确认">
|
||||
<el-option
|
||||
@ -197,9 +196,9 @@
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="收款账号" prop="paymentAccount">
|
||||
<el-select v-model="formData.paymentAccount" placeholder="请选择收款账号">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="收款账号" prop="paymentAccount" >
|
||||
<el-select v-model="formData.paymentAccount" placeholder="请选择收款账号" style="width: 60%;">
|
||||
<el-option
|
||||
v-for="item in paymentAccountList"
|
||||
:key="item.value"
|
||||
@ -210,6 +209,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="审批意见" prop="cashierConfirmRemark">
|
||||
@ -398,12 +398,15 @@ export default {
|
||||
}
|
||||
this.formLoading = true
|
||||
try {
|
||||
|
||||
const data = this.formData
|
||||
// 修改的提交
|
||||
if (data.id) {
|
||||
if(this.formData.cashierConfirm !== null){
|
||||
console.log('123', this.formData)
|
||||
this.formData.cashierConfirmTime = new Date().getTime()
|
||||
}
|
||||
console.log('456', this.formData)
|
||||
await SchoolCourseOrderApi.updateSchoolCourseOrder(data)
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.dialogVisible = false
|
||||
|
@ -20,9 +20,9 @@
|
||||
|
||||
<!-- 操作工具栏 -->
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="openForm(undefined)">新增</el-button>
|
||||
</el-col>
|
||||
</el-col>-->
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" >学员及订单信息导出</el-button>
|
||||
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading">导出</el-button>-->
|
||||
@ -180,7 +180,6 @@
|
||||
size="mini"
|
||||
type="text"
|
||||
style="color: RGB(192, 196, 204)"
|
||||
@click="openCashierConfirm(scope.row.id)"
|
||||
v-else-if="scope.row.cashierConfirm == 1 || scope.row.cashierConfirm == '1'"
|
||||
:disabled="true"
|
||||
>
|
||||
|
@ -81,3 +81,21 @@ export function getCommissionListByCoachId(params){
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
// 业务经理提成信息列表
|
||||
export function getBusinessManagerMoney(params){
|
||||
return request({
|
||||
url: '/base/dl-drive-school-coach/getBusinessManagerMoney',
|
||||
method: 'GET',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
// 业务经理提成详细列表
|
||||
export function getBusinessManager(params) {
|
||||
return request({
|
||||
url: '/base/dl-drive-school-coach/getBusinessManager',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
@ -79,4 +79,13 @@ export function exportSchoolProcessExcel(params) {
|
||||
});
|
||||
}
|
||||
|
||||
// 获取驾校学员合格率
|
||||
export function getExamPassRate(params) {
|
||||
return request({
|
||||
url: '/process/getExamPassRate',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
@ -64,6 +64,17 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="考试时间">
|
||||
<el-date-picker
|
||||
v-model="queryParams.timeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
@change="handleDateChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
@ -199,7 +210,10 @@ export default {
|
||||
studentIdCard: null,
|
||||
financePass: undefined,
|
||||
examStatus: undefined,
|
||||
timeRange: null,
|
||||
subject: null,
|
||||
examStartTime: null,
|
||||
examEndTime: null
|
||||
},
|
||||
subjectOptions: [
|
||||
{ value: 1, label: '科目一' },
|
||||
@ -229,6 +243,12 @@ export default {
|
||||
const res = await processApi.getProcessPage(this.queryParams)
|
||||
this.list = res.data.records
|
||||
this.total = res.data.total
|
||||
const params = {
|
||||
/* startTimeStr: '2025-05-01',
|
||||
endTimeStr: '2025-05-31', */
|
||||
// timeType: 'month',
|
||||
}
|
||||
this.getExamPassRate(params)
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
@ -252,13 +272,30 @@ export default {
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNo = 1
|
||||
if(this.queryParams.examStartTime != null){
|
||||
this.queryParams.examStartTime = this.queryParams.examStartTime + ' 00:00:01';
|
||||
this.queryParams.examEndTime = this.queryParams.examEndTime + ' 23:59:59';
|
||||
}
|
||||
this.getList()
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm('queryForm')
|
||||
this.showPassedOnly = true
|
||||
this.queryParams.examStatus = '1'
|
||||
this.queryParams = {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
courseName: null,
|
||||
coachName: null,
|
||||
userName: null,
|
||||
studentIdCard: null,
|
||||
financePass: undefined,
|
||||
examStatus: '1',
|
||||
timeRange: null,
|
||||
subject: null,
|
||||
examStartTime: null,
|
||||
examEndTime: null
|
||||
}
|
||||
this.handleQuery()
|
||||
},
|
||||
/** 添加/修改操作 */
|
||||
@ -276,6 +313,20 @@ export default {
|
||||
} catch {
|
||||
}
|
||||
},
|
||||
handleDateChange(val) {
|
||||
if (val && val.length === 2) {
|
||||
this.queryParams.examStartTime = val[0];
|
||||
this.queryParams.examEndTime = val[1];
|
||||
} else {
|
||||
this.queryParams.examStartTime = null;
|
||||
this.queryParams.examEndTime = null;
|
||||
}
|
||||
},
|
||||
|
||||
getExamPassRate(params){
|
||||
const res = processApi.getExamPassRate(params)
|
||||
console.log('res12345', res)
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
async handleExport() {
|
||||
/* await this.$modal.confirm('是否确认导出所有驾校-学员课程进度数据项?');
|
||||
|
@ -37,8 +37,8 @@
|
||||
<el-table-column label="联系电话" align="center" prop="phone"/>
|
||||
<el-table-column label="身份证号" align="center" prop="idCard"/>
|
||||
<el-table-column label="工作性质" align="center" prop="workName"/>
|
||||
<el-table-column label="户籍地址" align="center" prop="registAddress"/>
|
||||
<el-table-column label="家庭住址" align="center" prop="address"/>
|
||||
<el-table-column label="户籍地址" align="center" prop="registAddress" show-overflow-tooltip/>
|
||||
<el-table-column label="家庭住址" align="center" prop="address" show-overflow-tooltip/>
|
||||
<el-table-column label="人员类型" align="center" prop="type"/>
|
||||
<el-table-column label="学员编号" align="center" prop="drivingStudentCode"/>
|
||||
<el-table-column label="渠道" align="center" prop="source" :formatter="formatChannel"/>
|
||||
|
Loading…
Reference in New Issue
Block a user