Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
c1ef47929a
@ -89,7 +89,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(selected, operate = null) {
|
doShow(selected, operate = null) {
|
||||||
this.$root.$emit('dialogOpen', selected);
|
this.$root.$emit('dialogOpen', selected);
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
if (!this.dialogShow) {
|
if (!this.dialogShow) {
|
||||||
this.switchName = '';
|
this.switchName = '';
|
||||||
@ -119,7 +119,8 @@ export default {
|
|||||||
doClose() {
|
doClose() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
this.$root.$emit('dialogClose', this.selected);
|
this.operation = '';
|
||||||
|
this.$root.$emit('dialogClose', this.selected);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="type" label-width="0px">
|
<el-form-item v-if="trainNumberIsDisabled" prop="type" label-width="0px">
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
:id="domIdTrainType"
|
:id="domIdTrainType"
|
||||||
v-model="formModel.type"
|
v-model="formModel.type"
|
||||||
@ -338,6 +338,9 @@ export default {
|
|||||||
category: 'MM'
|
category: 'MM'
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
if(operate.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
||||||
|
this.formModel.type = 'MANUAL';
|
||||||
|
}
|
||||||
/** 加载列车数据*/
|
/** 加载列车数据*/
|
||||||
this.loadInitData(this.map);
|
this.loadInitData(this.map);
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
|
@ -82,6 +82,7 @@ export default {
|
|||||||
}
|
}
|
||||||
if (this.speed != train.speed && !this.changeSpeedFlag) {
|
if (this.speed != train.speed && !this.changeSpeedFlag) {
|
||||||
this.speed = train.speed;
|
this.speed = train.speed;
|
||||||
|
this.$nextTick(() => { this.changeSpeedFlag = false; });
|
||||||
}
|
}
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
|
@ -232,6 +232,7 @@ export const projectSdy = '021';// 苏电院
|
|||||||
export const projectRichor = '022';// 中航锐创
|
export const projectRichor = '022';// 中航锐创
|
||||||
export const projectRichorJoint = '023'; // 中航锐创(实训室)
|
export const projectRichorJoint = '023'; // 中航锐创(实训室)
|
||||||
export const projectSrsandbox = '024'; // 上饶沙盘
|
export const projectSrsandbox = '024'; // 上饶沙盘
|
||||||
|
export const projectJxgm = '025'; // 江西工贸
|
||||||
|
|
||||||
export const userTrainingPlatform = '016'; // 实训系统
|
export const userTrainingPlatform = '016'; // 实训系统
|
||||||
// export const refereePlatform = '017'; // 裁判系统
|
// export const refereePlatform = '017'; // 裁判系统
|
||||||
@ -1528,6 +1529,27 @@ export const projectRoute = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
designjxgm: [
|
||||||
|
{ // 系统管理
|
||||||
|
path: '/system',
|
||||||
|
component: Layout,
|
||||||
|
merge: true,
|
||||||
|
mergeIndex: 4,
|
||||||
|
meta: {
|
||||||
|
i18n: 'router.systemManage',
|
||||||
|
roles: [admin]
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'deviceManage',
|
||||||
|
component: DeviceManage,
|
||||||
|
meta: {
|
||||||
|
i18n: 'router.deviceManage'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
const createRouter = () => new Router({
|
const createRouter = () => new Router({
|
||||||
|
@ -532,6 +532,24 @@ export const loginInfo = {
|
|||||||
titleDistance: '-150px',
|
titleDistance: '-150px',
|
||||||
navigationLogoWidth: '40px',
|
navigationLogoWidth: '40px',
|
||||||
navigationMarginLeft: '60px',
|
navigationMarginLeft: '60px',
|
||||||
|
systemType: '025'
|
||||||
|
},
|
||||||
|
designjxgm: {
|
||||||
|
title: '江西工业贸易职业技术学院城市轨道交通设计平台',
|
||||||
|
loginPath: '/design/login?project=jxgm',
|
||||||
|
loginParam: 'JXGM',
|
||||||
|
titleDistance: '-150px',
|
||||||
|
navigationLogoWidth: '40px',
|
||||||
|
navigationMarginLeft: '60px',
|
||||||
|
systemType: '025'
|
||||||
|
},
|
||||||
|
jxgm: {
|
||||||
|
title: '江西工业贸易职业技术学院城市轨道交通实训平台',
|
||||||
|
loginPath: '/login?project=jxgm',
|
||||||
|
loginParam: 'JXGM',
|
||||||
|
titleDistance: '-150px',
|
||||||
|
navigationLogoWidth: '40px',
|
||||||
|
navigationMarginLeft: '60px',
|
||||||
systemType: '024'
|
systemType: '024'
|
||||||
},
|
},
|
||||||
nologo: {
|
nologo: {
|
||||||
@ -603,7 +621,9 @@ export const ProjectIcon = {
|
|||||||
nologo: TransparentIcon,
|
nologo: TransparentIcon,
|
||||||
designnologo: TransparentIcon,
|
designnologo: TransparentIcon,
|
||||||
srsandbox: FaviconRichor,
|
srsandbox: FaviconRichor,
|
||||||
designsrsandbox:FaviconRichor
|
designsrsandbox:FaviconRichor,
|
||||||
|
jxgm: FaviconRichor,
|
||||||
|
designjxgm: FaviconRichor
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ProjectCode = {
|
export const ProjectCode = {
|
||||||
@ -643,21 +663,25 @@ export const ProjectCode = {
|
|||||||
nologo: 'NOLOGO',
|
nologo: 'NOLOGO',
|
||||||
designnologo: 'NOLOGO',
|
designnologo: 'NOLOGO',
|
||||||
srsandbox: 'SR_SANDBOX',
|
srsandbox: 'SR_SANDBOX',
|
||||||
designsrsandbox: 'SR_SANDBOX'
|
designsrsandbox: 'SR_SANDBOX',
|
||||||
|
jxgm: 'JXGM',
|
||||||
|
designjxgm: 'JXGM',
|
||||||
|
hls: 'DEFAULT',
|
||||||
|
designhls: 'DEFAULT'
|
||||||
};
|
};
|
||||||
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo']; // 底部栏仅展示公司信息不展示备案号
|
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo']; // 底部栏仅展示公司信息不展示备案号
|
||||||
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls',
|
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls',
|
||||||
'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor',
|
'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor',
|
||||||
'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts']; // 实训设计平台通过项目code获取地图列表的项目
|
'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm']; // 实训设计平台通过项目code获取地图列表的项目
|
||||||
export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目
|
export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目
|
||||||
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt',
|
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt',
|
||||||
'designxadt', 'nologo', 'designnologo', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts']; // 登录页右下角版本开发基于不展示
|
'designxadt', 'nologo', 'designnologo', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm']; // 登录页右下角版本开发基于不展示
|
||||||
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls',
|
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls',
|
||||||
'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt', 'richor', 'richorlesson3d', 'richorjoint', 'nologo', 'designnologo',
|
'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'xadt', 'designxadt', 'richor', 'richorlesson3d', 'richorjoint', 'nologo', 'designnologo',
|
||||||
'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts']; // 登录页右下角主体不展示
|
'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm']; // 登录页右下角主体不展示
|
||||||
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
|
export const ProjectLoginStyleList = ['gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc',
|
||||||
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc',
|
'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'nty', 'designnty', 'bjd', 'designbjd', 'sdy', 'designsdy', 'ntyc', 'designntyc',
|
||||||
'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts']; // 登录页样式
|
'ntyl', 'designntyl', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'srsandbox', 'designsrsandbox', 'designhlsdrts', 'hlsdrts', 'jxgm', 'designjxgm']; // 登录页样式
|
||||||
export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl'];
|
export const NoQrcodeList = ['heb', 'designheb', 'cgy', 'designcgy', 'ntyl', 'designntyl'];
|
||||||
export const NoSimulationQrCodeList = ['heb', 'bjd'];
|
export const NoSimulationQrCodeList = ['heb', 'bjd'];
|
||||||
export const RegisterCodeList = ['cgy', 'designcgy'];
|
export const RegisterCodeList = ['cgy', 'designcgy'];
|
||||||
@ -701,7 +725,9 @@ export const goOtherPlatformMenu = { // 导航栏快速切换平台
|
|||||||
nologo: '/design/login?project=nologo',
|
nologo: '/design/login?project=nologo',
|
||||||
designnologo: '/login?project=nologo',
|
designnologo: '/login?project=nologo',
|
||||||
srsandbox: '/design/login?project=srsandbox',
|
srsandbox: '/design/login?project=srsandbox',
|
||||||
designsrsandbox: '/login?project=srsandbox'
|
designsrsandbox: '/login?project=srsandbox',
|
||||||
|
jxgm: '/design/login?project=jxgm',
|
||||||
|
designjxgm: '/login?project=jxgm'
|
||||||
};
|
};
|
||||||
export const ProjectList = [
|
export const ProjectList = [
|
||||||
{value:'xty', label:'西铁院'},
|
{value:'xty', label:'西铁院'},
|
||||||
@ -723,7 +749,8 @@ export const ProjectList = [
|
|||||||
{value: 'richorlesson3d', label: '中航锐创(三维课程)'},
|
{value: 'richorlesson3d', label: '中航锐创(三维课程)'},
|
||||||
{value: 'richor_joint', label: '中航锐创(实训室)'},
|
{value: 'richor_joint', label: '中航锐创(实训室)'},
|
||||||
{value: 'nologo', label: '无logo' },
|
{value: 'nologo', label: '无logo' },
|
||||||
{value: 'sr_sandbox', label: '上饶沙盘'}
|
{value: 'sr_sandbox', label: '上饶沙盘'},
|
||||||
|
{value: 'jxgm', label: '江西工贸' }
|
||||||
];
|
];
|
||||||
export const localPackageProject = {
|
export const localPackageProject = {
|
||||||
localdesign: 'designheb',
|
localdesign: 'designheb',
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectRichorJoint, projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy, projectSrsandbox } from '@/router/index';
|
import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectRichorJoint, projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy, projectSrsandbox, projectJxgm } from '@/router/index';
|
||||||
import { loginInfo } from '@/scripts/ProjectConfig';
|
import { loginInfo } from '@/scripts/ProjectConfig';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
|
|
||||||
@ -36,9 +36,9 @@ function hasPermission(roles, route, parentsRoles) {
|
|||||||
function resetAsyncRouter({ systemType }) {
|
function resetAsyncRouter({ systemType }) {
|
||||||
let list = publicAsyncRoute;
|
let list = publicAsyncRoute;
|
||||||
const projectList = [projectTrain, projectXian, projectJyd, projectTky, projectDrts, projectRichor];
|
const projectList = [projectTrain, projectXian, projectJyd, projectTky, projectDrts, projectRichor];
|
||||||
const specialProjects = [projectXty, projectGzzb, projectHeb, projectSdy, projectRichorJoint, projectSrsandbox];
|
const specialProjects = [projectXty, projectGzzb, projectHeb, projectSdy, projectRichorJoint, projectSrsandbox, projectJxgm];
|
||||||
const specialProjectEnum = {[projectXty]:'designxty', [projectGzzb]:'designgzb', [projectHeb]:'designheb',
|
const specialProjectEnum = {[projectXty]:'designxty', [projectGzzb]:'designgzb', [projectHeb]:'designheb',
|
||||||
[projectSdy]:'designsdy', [projectRichorJoint]:'designrichorjoint', [projectSrsandbox]: 'designsrsandbox' };
|
[projectSdy]:'designsdy', [projectRichorJoint]:'designrichorjoint', [projectSrsandbox]: 'designsrsandbox', [projectJxgm]: 'designjxgm' };
|
||||||
if (projectList.includes(systemType)) {
|
if (projectList.includes(systemType)) {
|
||||||
list = [...list, ...asyncRouter];
|
list = [...list, ...asyncRouter];
|
||||||
} else if (specialProjects.includes(systemType) ) {
|
} else if (specialProjects.includes(systemType) ) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<status-icon v-if="$route.query.lineCode == '11' || $route.query.lineCode == '10'" ref="statusIcon" />
|
<status-icon v-if="$route.query.lineCode == '11' || $route.query.lineCode == '10'" ref="statusIcon" />
|
||||||
<demon-chat ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
<demon-chat v-if="!noChatBox" ref="chatbox" :group="group" :user-role="userRole" :offset="offset" />
|
||||||
<div class="display-card" :style="{top: offset+'px'}">
|
<div class="display-card" :style="{top: offset+'px'}">
|
||||||
<el-row>
|
<el-row>
|
||||||
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
||||||
@ -166,6 +166,9 @@ export default {
|
|||||||
},
|
},
|
||||||
isDepoltSim() {
|
isDepoltSim() {
|
||||||
return this.$route.query.prdType === '09';
|
return this.$route.query.prdType === '09';
|
||||||
|
},
|
||||||
|
noChatBox() {
|
||||||
|
return this.project.includes('srsandbox') || this.project.includes('jxgm');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -361,14 +364,18 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.userRole = userRole;
|
this.userRole = userRole;
|
||||||
this.$refs.chatbox.clearAllData();
|
if (this.$refs.chatbox) {
|
||||||
|
this.$refs.chatbox.clearAllData();
|
||||||
|
}
|
||||||
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
|
||||||
this.$store.dispatch('training/setRoles', userRole);
|
this.$store.dispatch('training/setRoles', userRole);
|
||||||
this.$store.dispatch('training/setScriptQuit');
|
this.$store.dispatch('training/setScriptQuit');
|
||||||
// this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
// this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||||
},
|
},
|
||||||
clearAllData() {
|
clearAllData() {
|
||||||
this.$refs.chatbox.clearAllData();
|
if (this.$refs.chatbox) {
|
||||||
|
this.$refs.chatbox.clearAllData();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async back() {
|
async back() {
|
||||||
this.isGoback = true;
|
this.isGoback = true;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<status-icon v-if="statusIconShow" ref="statusIcon" />
|
<status-icon v-if="statusIconShow" ref="statusIcon" />
|
||||||
<chat-box v-if="$route.query.type !== 'ILW'" :group="group" :user-role="userRole" />
|
<chat-box v-if="!noChatBox" :group="group" :user-role="userRole" />
|
||||||
<!-- 地图没有报错-->
|
<!-- 地图没有报错-->
|
||||||
<!-- 地图错误判断 -->
|
<!-- 地图错误判断 -->
|
||||||
<div v-if="!dataError&&hasOneButton" class="display_top_draft" :style="{top: statusIconShow ? offset + 60 + 'px':offset+'px'}">
|
<div v-if="!dataError&&hasOneButton" class="display_top_draft" :style="{top: statusIconShow ? offset + 60 + 'px':offset+'px'}">
|
||||||
@ -197,6 +197,9 @@ export default {
|
|||||||
},
|
},
|
||||||
simulationPaused() {
|
simulationPaused() {
|
||||||
return this.$store.state.socket.simulationPause;
|
return this.$store.state.socket.simulationPause;
|
||||||
|
},
|
||||||
|
noChatBox() {
|
||||||
|
return this.$route.query.type === 'ILW' || this.project.includes('srsandbox') || this.project.includes('jxgm');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -44,7 +44,8 @@ export default {
|
|||||||
{label: '哈尔滨', value:'HEB'},
|
{label: '哈尔滨', value:'HEB'},
|
||||||
{label: '苏电院', value:'SDY'},
|
{label: '苏电院', value:'SDY'},
|
||||||
{ label: '中航锐创(实训室)', value: 'RICHOR_JOINT' },
|
{ label: '中航锐创(实训室)', value: 'RICHOR_JOINT' },
|
||||||
{label: '上饶沙盘', value: 'SR_SANDBOX'}
|
{label: '上饶沙盘', value: 'SR_SANDBOX'},
|
||||||
|
{label: '江西工贸', value: 'JXGM'}
|
||||||
],
|
],
|
||||||
projectMap: {
|
projectMap: {
|
||||||
designxty: 'XTY',
|
designxty: 'XTY',
|
||||||
@ -52,7 +53,8 @@ export default {
|
|||||||
designheb: 'HEB',
|
designheb: 'HEB',
|
||||||
designsdy: 'SDY',
|
designsdy: 'SDY',
|
||||||
designrichorjoint: 'RICHOR_JOINT',
|
designrichorjoint: 'RICHOR_JOINT',
|
||||||
designsrsandbox: 'SR_SANDBOX'
|
designsrsandbox: 'SR_SANDBOX',
|
||||||
|
designjxgm: 'JXGM'
|
||||||
},
|
},
|
||||||
queryForm: {
|
queryForm: {
|
||||||
labelWidth: '120px',
|
labelWidth: '120px',
|
||||||
|
Loading…
Reference in New Issue
Block a user