国际化调整
This commit is contained in:
parent
7a284fea4a
commit
2dffe78baf
@ -84,4 +84,8 @@ export default {
|
||||
startSimulationFailed: 'Start simulation failed, please go back and try again',
|
||||
endSimulationFailed: 'End simulation failed, please return',
|
||||
runGraphIsNotLoaded: 'Today\'s run graph is not loaded',
|
||||
startedComprehensiveDrillFailure: 'Started a comprehensive drill failure.',
|
||||
stationAttendantStationCannotBeEmpty: 'Station attendant station cannot be empty',
|
||||
destroyedRoomFailed: 'Destroyed room failed!',
|
||||
exceededTheTotalNumberOfAssignableRoles: 'The number of assigned roles has exceeded the total number of assignable roles!'
|
||||
};
|
||||
|
@ -145,5 +145,6 @@ export default {
|
||||
amount: 'Amount',
|
||||
yes: 'Yes',
|
||||
no: 'No',
|
||||
details: 'Details'
|
||||
details: 'Details',
|
||||
enterNameToFilter: 'Enter a name to filter'
|
||||
};
|
||||
|
@ -21,6 +21,8 @@ import dashboard from './dashboard';
|
||||
import jlmap3d from './jlmap3d';
|
||||
import display from './display';
|
||||
import joinTraining from './joinTraining';
|
||||
import trainRoom from './trainRoom';
|
||||
import menu from './menu';
|
||||
|
||||
export default {
|
||||
...enLocale,
|
||||
@ -45,5 +47,7 @@ export default {
|
||||
dashboard,
|
||||
jlmap3d,
|
||||
display,
|
||||
joinTraining
|
||||
joinTraining,
|
||||
trainRoom,
|
||||
menu
|
||||
};
|
||||
|
3
src/i18n/langs/en/menu.js
Normal file
3
src/i18n/langs/en/menu.js
Normal file
@ -0,0 +1,3 @@
|
||||
export default {
|
||||
|
||||
};
|
@ -96,5 +96,11 @@ export default {
|
||||
packingDetails: 'Packing details',
|
||||
belongsToMap: 'Belongs to map',
|
||||
oneClickGeneration: 'One-click generation',
|
||||
selectPermission: 'Select Permission'
|
||||
selectPermission: 'Select Permission',
|
||||
permission: 'Permission',
|
||||
orderSelectionItem: 'Order selection item',
|
||||
orderDetails: 'Order details',
|
||||
statusType: 'Status type',
|
||||
private: 'Private',
|
||||
public: 'Public'
|
||||
};
|
||||
|
@ -27,6 +27,7 @@ export default {
|
||||
editPermissionPackageRule: 'edit authority packaging rule',
|
||||
restPermissionMaxNumber: '(maximum number of remaining permissions: {0})',
|
||||
pleaseSelectTransferPermission: 'Select transfer permissions',
|
||||
permissionName: 'Permission Name'
|
||||
|
||||
permissionName: 'Permission Name',
|
||||
private: 'Private',
|
||||
public: 'Public'
|
||||
};
|
||||
|
@ -252,5 +252,6 @@ export default {
|
||||
modifyTheFailure: 'Modify the failure',
|
||||
selectTheCourseNameFirst: 'Please select the course name first',
|
||||
selectMultiplePermissions: 'Please select multiple permissions',
|
||||
enterPermissionName: 'Please enter a permission name'
|
||||
enterPermissionName: 'Please enter a permission name',
|
||||
pleaseSelectPermission: 'Please select permission'
|
||||
};
|
||||
|
@ -137,5 +137,9 @@ export default {
|
||||
setUpASubscriptionMapFailed: 'Setting up a subscription map failed!',
|
||||
getMapStateDataException: 'Get map state data exception, please refresh the page to reload. If you encounter such problems many times, please contact the development team in an emergency!',
|
||||
packagedSuccessfully: 'Packaged successfully',
|
||||
oneKeyGeneratedSuccessfully: 'One key generated successfully!'
|
||||
oneKeyGeneratedSuccessfully: 'One key generated successfully!',
|
||||
obtainedPermissionSuccessfully: 'Successfully obtained permission',
|
||||
modifyTheUserPermissionStatus: 'Will this action modify the user permission status?',
|
||||
destroyRoomHint: 'You will destroy the room, are you sure you want to do this?',
|
||||
contentIsEmptyAndCannotBeSent: 'The content is empty and cannot be sent!'
|
||||
};
|
||||
|
29
src/i18n/langs/en/trainRoom.js
Normal file
29
src/i18n/langs/en/trainRoom.js
Normal file
@ -0,0 +1,29 @@
|
||||
export default {
|
||||
comprehensiveTrainingManager: 'Comprehensive training manager:',
|
||||
comprehensiveDrillRoom: 'Comprehensive drill room',
|
||||
numberOfAssignableRoles: 'Number of assignable roles:',
|
||||
dispatcher: 'Dispatcher',
|
||||
increaseDispatchers: 'Increase dispatchers',
|
||||
stationAttendant: 'Station attendant',
|
||||
increaseStationAttendant: 'Increase station attendant',
|
||||
teacher: 'Teacher',
|
||||
increaseTeacher: 'Increase teacher',
|
||||
universalAccount: 'Universal Account',
|
||||
increaseUniversalAccount: 'Increase universal account',
|
||||
driver: 'Driver',
|
||||
increaseDriver: 'Increase driver',
|
||||
bigScreen: 'Big screen',
|
||||
increaseBigScreen: 'Increase big screen',
|
||||
destroyRoom: 'Destroy room',
|
||||
generatingQRCode: 'Generating QRCode',
|
||||
startSimulation: 'Start simulation',
|
||||
enterSimulation: 'Enter simulation',
|
||||
endSimulation: 'End Simulation',
|
||||
distributeTheRoomQRCode: 'Distribute the room QR code',
|
||||
increaseIbp: 'increase IBP',
|
||||
kickOutTheRoom: 'Kick out the room',
|
||||
sending: 'sending...',
|
||||
holdAndTalk: 'Hold and talk',
|
||||
recording: 'recording...',
|
||||
sendText: 'Send text'
|
||||
};
|
@ -84,4 +84,8 @@ export default {
|
||||
startSimulationFailed: '开始仿真失败,请返回重试',
|
||||
endSimulationFailed: '结束仿真失败,请返回',
|
||||
runGraphIsNotLoaded: '今日运行图未加载',
|
||||
startedComprehensiveDrillFailure: '开始综合演练失败。',
|
||||
stationAttendantStationCannotBeEmpty: '值班员所属车站不能为空',
|
||||
destroyedRoomFailed: '销毁房间失败!',
|
||||
exceededTheTotalNumberOfAssignableRoles: '分配角色数量已超过可分配角色总数!'
|
||||
};
|
||||
|
@ -18,7 +18,7 @@ export default {
|
||||
chooseDate: '请选择日期',
|
||||
chooseTime: '请选择时间',
|
||||
chooseDateTime: '请选择日期时间',
|
||||
choosh: '请选择',
|
||||
choose: '请选择',
|
||||
select: '选 择',
|
||||
selectAdd: '选中添加',
|
||||
export: '导 出',
|
||||
@ -151,5 +151,6 @@ export default {
|
||||
amount: '总数量',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
details: '详情'
|
||||
details: '详情',
|
||||
enterNameToFilter: '输入名称进行过滤'
|
||||
};
|
||||
|
@ -21,6 +21,8 @@ import dashboard from './dashboard';
|
||||
import jlmap3d from './jlmap3d';
|
||||
import display from './display';
|
||||
import joinTraining from './joinTraining';
|
||||
import trainRoom from './trainRoom';
|
||||
import menu from './menu';
|
||||
|
||||
export default {
|
||||
...cnLocale,
|
||||
@ -44,5 +46,8 @@ export default {
|
||||
exam,
|
||||
dashboard,
|
||||
jlmap3d,
|
||||
display
|
||||
display,
|
||||
joinTraining,
|
||||
trainRoom,
|
||||
menu
|
||||
};
|
||||
|
3
src/i18n/langs/zh/menu.js
Normal file
3
src/i18n/langs/zh/menu.js
Normal file
@ -0,0 +1,3 @@
|
||||
export default {
|
||||
|
||||
};
|
@ -96,5 +96,9 @@ export default {
|
||||
packingDetails: '打包详情',
|
||||
belongsToMap: '所属地图',
|
||||
oneClickGeneration: '一键生成',
|
||||
selectPermission: '选择权限'
|
||||
selectPermission: '选择权限',
|
||||
permission: '权限',
|
||||
orderSelectionItem: '订单选择商品',
|
||||
orderDetails: '订单详情',
|
||||
statusType: '状态类型',
|
||||
};
|
||||
|
@ -27,6 +27,7 @@ export default {
|
||||
editPermissionPackageRule: '编辑权限打包规则',
|
||||
restPermissionMaxNumber: '(剩余最大权限个数:{0})',
|
||||
pleaseSelectTransferPermission: '选择转赠权限',
|
||||
permissionName: '权限名称'
|
||||
|
||||
permissionName: '权限名称',
|
||||
private: '专用',
|
||||
public: '公用'
|
||||
};
|
||||
|
@ -262,5 +262,6 @@ export default {
|
||||
modifyTheFailure: '修改失败',
|
||||
selectTheCourseNameFirst: '请先选择课程名称',
|
||||
selectMultiplePermissions: '请选择多个权限',
|
||||
enterPermissionName: '请输入权限名称'
|
||||
enterPermissionName: '请输入权限名称',
|
||||
pleaseSelectPermission: '请选择权限'
|
||||
};
|
||||
|
@ -141,5 +141,9 @@ export default {
|
||||
setUpASubscriptionMapFailed: '设置订阅地图失败!',
|
||||
getMapStateDataException: '获取地图状态数据异常,请刷新页面重新加载。若多次遇到此类问题,请急时联系开发团队处理!',
|
||||
packagedSuccessfully: '打包成功',
|
||||
oneKeyGeneratedSuccessfully: '一键生成成功!'
|
||||
oneKeyGeneratedSuccessfully: '一键生成成功!',
|
||||
obtainedPermissionSuccessfully: '领取权限成功',
|
||||
modifyTheUserPermissionStatus: '此操作将修改用户权限状态?',
|
||||
destroyRoomHint: '您将销毁房间,是否确定执行此操作',
|
||||
contentIsEmptyAndCannotBeSent: '内容为空,不可发送!'
|
||||
};
|
||||
|
29
src/i18n/langs/zh/trainRoom.js
Normal file
29
src/i18n/langs/zh/trainRoom.js
Normal file
@ -0,0 +1,29 @@
|
||||
export default {
|
||||
comprehensiveTrainingManager: '综合实训管理者:',
|
||||
comprehensiveDrillRoom: '综合演练室',
|
||||
numberOfAssignableRoles: '可分配角色数量:',
|
||||
dispatcher: '调度员',
|
||||
increaseDispatchers: '增加调度人员',
|
||||
stationAttendant: '车站值班员',
|
||||
increaseStationAttendant: '增加车站值班员',
|
||||
teacher: '教员',
|
||||
increaseTeacher: '增加教员',
|
||||
universalAccount: '通号',
|
||||
increaseUniversalAccount: '增加通号',
|
||||
driver: '司机',
|
||||
increaseDriver: '增加司机',
|
||||
bigScreen: '大屏',
|
||||
increaseBigScreen: '增加大屏',
|
||||
destroyRoom: '销毁房间',
|
||||
generatingQRCode: '生成二维码',
|
||||
startSimulation: '开始仿真',
|
||||
enterSimulation: '进入仿真',
|
||||
endSimulation: '结束仿真',
|
||||
distributeTheRoomQRCode: '分发房间二维码',
|
||||
increaseIbp: '增加IBP',
|
||||
kickOutTheRoom: '提出房间',
|
||||
sending: '发送中...',
|
||||
holdAndTalk: '按住说话',
|
||||
recording: '录音中...',
|
||||
sendText: '发送文字'
|
||||
};
|
@ -77,13 +77,13 @@ export default {
|
||||
const form = {
|
||||
labelWidth: '135px',
|
||||
items: [
|
||||
{ prop: 'name', label: '商品名称', type: 'text', required: false },
|
||||
{ prop: 'permissionName', label: '权限', type: 'text', required: false, disabled: true, rightWidth: true, buttontip: '选择权限', buttonClick: this.buttonClick },
|
||||
{ prop: 'forever', label: '是否试用', type: 'radio', required: false, options: this.$ConstSelect.Whether, disabled: this.foreverIsDisabled },
|
||||
{ prop: 'tryUseTimeUnit', label: '时间单位', type: 'select', required: false, disabled: this.foreverIsDisabled, show: this.isShowForever, options: this.TimeStyleList },
|
||||
{ prop: 'tryUseTime', label: '试用时长', type: 'number', required: false, disabled: this.foreverIsDisabled, show: this.isShowForever, message: `${this.TimeStyleDict[this.formModel.tryUseTimeUnit]}` },
|
||||
{ prop: 'price', label: '价格', type: 'number', required: false, min: 0.01, message: '元' },
|
||||
{ prop: 'remarks', label: '描述', type: 'textarea', required: false }
|
||||
{ prop: 'name', label: this.$t('orderAuthor.commodityName'), type: 'text', required: false },
|
||||
{ prop: 'permissionName', label: this.$t('orderAuthor.permission'), type: 'text', required: false, disabled: true, rightWidth: true, buttontip: this.$t('orderAuthor.selectPermission'), buttonClick: this.buttonClick },
|
||||
{ prop: 'forever', label: this.$t('orderAuthor.whetherTrial'), type: 'radio', required: false, options: this.$ConstSelect.Whether, disabled: this.foreverIsDisabled },
|
||||
{ prop: 'tryUseTimeUnit', label: this.$t('orderAuthor.unitOfTime'), type: 'select', required: false, disabled: this.foreverIsDisabled, show: this.isShowForever, options: this.TimeStyleList },
|
||||
{ prop: 'tryUseTime', label: this.$t('orderAuthor.trialTime'), type: 'number', required: false, disabled: this.foreverIsDisabled, show: this.isShowForever, message: `${this.TimeStyleDict[this.formModel.tryUseTimeUnit]}` },
|
||||
{ prop: 'price', label: this.$t('orderAuthor.price'), type: 'number', required: false, min: 0.01, message: this.$t('global.yuan') },
|
||||
{ prop: 'remarks', label: this.$t('orderAuthor.describtion'), type: 'textarea', required: false }
|
||||
]
|
||||
|
||||
};
|
||||
@ -96,7 +96,7 @@ export default {
|
||||
{ required: true, message: this.$t('rules.goodsNameInput'), trigger: 'blur' }
|
||||
],
|
||||
permissionName: [
|
||||
{ required: true, message: '请选择权限', trigger: 'change' }
|
||||
{ required: true, message: this.$t('rules.pleaseSelectPermission'), trigger: 'change' }
|
||||
],
|
||||
forever: [
|
||||
{ required: true, message: this.$t('rules.pleaseSelect'), trigger: 'change' }
|
||||
@ -177,7 +177,7 @@ export default {
|
||||
id: res.data.id
|
||||
};
|
||||
} catch (err) {
|
||||
this.$messageBox('获取商品详情失败');
|
||||
this.$messageBox(this.$t('error.getItemDetailFailed'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -60,11 +60,11 @@ export default {
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: '权限名称',
|
||||
title: this.$t('orderAuthor.permissionName'),
|
||||
prop: 'permissionName'
|
||||
},
|
||||
{
|
||||
title: `${this.$t('orderAuthor.price')}(元)`,
|
||||
title: `${this.$t('orderAuthor.price')}(¥)`,
|
||||
prop: 'price'
|
||||
},
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="订单选择商品"
|
||||
:title="this.$t('orderAuthor.orderSelectionItem')"
|
||||
:visible.sync="show"
|
||||
top="20px"
|
||||
width="90%"
|
||||
@ -75,7 +75,7 @@ export default {
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
title: '权限名称',
|
||||
title: this.$t('orderAuthor.permissionName'),
|
||||
prop: 'permissionName'
|
||||
},
|
||||
{
|
||||
@ -83,7 +83,7 @@ export default {
|
||||
prop: 'price'
|
||||
},
|
||||
{
|
||||
title: '所属地图',
|
||||
title: this.$t('orderAuthor.belongsToMap'),
|
||||
prop: 'mapId',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return this.$convertField(row.mapId, this.mapList, ['value', 'label']); },
|
||||
|
@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<el-dialog title="订单详情" :visible.sync="show" width="500px" :before-do-close="doClose" :close-on-click-modal="false">
|
||||
<el-dialog :title="this.$t('orderAuthor.orderDetails')" :visible.sync="show" width="500px" :before-do-close="doClose" :close-on-click-modal="false">
|
||||
<div>
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="height: 400px">
|
||||
<data-form ref="dataform" :form="form" :form-model="formModel" class="data-box" />
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="doClose">关 闭</el-button>
|
||||
<el-button type="primary" @click="doClose">{{$t('global.close')}}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
@ -73,7 +73,7 @@ export default {
|
||||
prop: 'userName'
|
||||
},
|
||||
{
|
||||
title: '用户手机号',
|
||||
title: this.$t('orderAuthor.userMobile'),
|
||||
prop: 'userMobile'
|
||||
},
|
||||
{
|
||||
@ -171,7 +171,7 @@ export default {
|
||||
width: '260',
|
||||
buttons: [
|
||||
{
|
||||
name: '详情',
|
||||
name: this.$t('global.details'),
|
||||
handleClick: this.handleDetail
|
||||
},
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog title="扫码" :visible.sync="centerDialogVisible" width="30%" center>
|
||||
<el-dialog :title="this.$t('global.scan')" :visible.sync="centerDialogVisible" width="30%" center>
|
||||
<el-input v-model="input" :placeholder="$t('global.inputRoomNumber')" />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="centerDialogVisible = false">{{ $t('global.cancel') }}</el-button>
|
||||
@ -30,7 +30,7 @@ export default {
|
||||
if (this.input) {
|
||||
try {
|
||||
await getPermission(`${this.input}`);
|
||||
this.$message.success('领取权限成功');
|
||||
this.$message.success(this.$t('tip.obtainedPermissionSuccessfully'));
|
||||
this.centerDialogVisible = false;
|
||||
} catch (error) {
|
||||
this.$messageBox(`${this.$t('error.scanningError')}:${error.message}`);
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog title="打包详情" :visible.sync="dialogShow" width="800px" :before-close="close">
|
||||
<el-dialog :title="this.$t('orderAuthor.packingDetails')" :visible.sync="dialogShow" width="800px" :before-close="close">
|
||||
<div>
|
||||
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||
</div>
|
||||
@ -38,7 +38,7 @@ export default {
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: '权限名称',
|
||||
title: this.$t('orderAuthor.permissionName'),
|
||||
prop: 'name'
|
||||
},
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ export default {
|
||||
},
|
||||
status: {
|
||||
type: 'select',
|
||||
label: '状态类型',
|
||||
label: this.$t('permission.statusType'),
|
||||
config: {
|
||||
data: []
|
||||
}
|
||||
@ -45,8 +45,8 @@ export default {
|
||||
label: this.$t('permission.permissionUseType'),
|
||||
config: {
|
||||
data: [
|
||||
{ value: false, label: '专用' },
|
||||
{ value: true, label: '公用' }
|
||||
{ value: false, label: this.$t('permission.private')},
|
||||
{ value: true, label: this.$t('permission.public')}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -58,11 +58,11 @@ export default {
|
||||
indexShow: true,
|
||||
columns: [
|
||||
{
|
||||
title: '用户名称',
|
||||
title: this.$t('permission.userName'),
|
||||
prop: 'userName'
|
||||
},
|
||||
{
|
||||
title: '权限名称',
|
||||
title: this.$t('permission.permissionName'),
|
||||
width: '260',
|
||||
prop: 'permissionName'
|
||||
},
|
||||
@ -152,7 +152,7 @@ export default {
|
||||
// }
|
||||
// },
|
||||
{
|
||||
name: '详情',
|
||||
name: this.$t('global.details'),
|
||||
handleClick: this.handleRoleVest,
|
||||
type: '',
|
||||
showControl: (row) => { return !row.permissionType; }
|
||||
@ -204,7 +204,7 @@ export default {
|
||||
}
|
||||
},
|
||||
handleEfficacy(index, row) {
|
||||
this.$confirm('此操作将修改用户权限状态?', this.$t('global.tips'), {
|
||||
this.$confirm(this.$t('tip.modifyTheUserPermissionStatus'), this.$t('global.tips'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
|
@ -10,7 +10,7 @@
|
||||
:before-close="cancel"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-input v-model="filterText" placeholder="输入名称进行过滤" clearable />
|
||||
<el-input v-model="filterText" :placeholder="this.$t('global.enterNameToFilter')" clearable />
|
||||
<ul class="listBox">
|
||||
<li v-for="(item,index) in list" :key="index" class="listLi">
|
||||
<input
|
||||
@ -25,8 +25,8 @@
|
||||
</li>
|
||||
</ul>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="commit">确 定</el-button>
|
||||
<el-button @click="cancel">{{$t('global.cancel')}}</el-button>
|
||||
<el-button type="primary" @click="commit">{{$t('global.confirm')}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
@ -3,10 +3,10 @@
|
||||
<div class="content-box">
|
||||
<!-- title显示 -->
|
||||
<div class="creator">
|
||||
<p style="margin-top: 2px;font-size: 15px;">综合实训管理者: {{ roomInfo.creator }}</p>
|
||||
<p class="roomName">综合演练室</p>
|
||||
<p style="margin-top: 2px;font-size: 15px;">{{ $t('trainRoom.comprehensiveTrainingManager') + roomInfo.creator }}</p>
|
||||
<p class="roomName">{{$t('trainRoom.comprehensiveDrillRoom')}}</p>
|
||||
<div style="padding-right: 30px;">
|
||||
<p class="num">可分配角色数量: {{ permissionRest }} / {{ roomInfo.permissionNum - 1 }}</p>
|
||||
<p class="num">{{$t('trainRoom.numberOfAssignableRoles')}}{{ permissionRest }} / {{ roomInfo.permissionNum - 1 }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 聊天窗口 -->
|
||||
@ -18,7 +18,7 @@
|
||||
<div style="height: calc(100% - 20px); overflow-y: scroll; padding: 0px 30px;">
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div class="Scheduling">
|
||||
<p class="title">调度员</p>
|
||||
<p class="title">{{$t('trainRoom.dispatcher')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in dispatchList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -34,7 +34,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="Scheduling">
|
||||
<p class="title">车站值班员</p>
|
||||
<p class="title">{{$t('trainRoom.stationAttendant')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in equipmentList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -46,7 +46,7 @@
|
||||
<div style="float: right; margin-right: 15px;">
|
||||
<el-select
|
||||
v-model="nor.deviceCode"
|
||||
placeholder="请选择"
|
||||
:placeholder="this.$t('global.choose')"
|
||||
size="mini"
|
||||
:disabled="userId != roomInfo.creatorId"
|
||||
@change="handleChangeUser(nor, 'Attendant', stationListForEquipment, equipmentList)"
|
||||
@ -74,7 +74,7 @@
|
||||
</div>
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div class="Scheduling ">
|
||||
<p class="title">教员</p>
|
||||
<p class="title">{{$t('trainRoom.teacher')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in adminList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -90,7 +90,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="Scheduling ">
|
||||
<p class="title">通号</p>
|
||||
<p class="title">{{$t('trainRoom.universalAccount')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in signalList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -108,7 +108,7 @@
|
||||
</div>
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div class="Scheduling">
|
||||
<p class="title">司机</p>
|
||||
<p class="title">{{$t('trainRoom.driver')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in driverList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -136,7 +136,7 @@
|
||||
<div style="float: right; margin-right: 15px;">
|
||||
<el-select
|
||||
v-model="nor.deviceCode"
|
||||
placeholder="请选择"
|
||||
:placeholder="this.$t('global.choose')"
|
||||
size="mini"
|
||||
:disabled="userId != roomInfo.creatorId"
|
||||
@change="handleChangeUser(nor, 'IBP', stationListForIBP, ibpList)"
|
||||
@ -164,7 +164,7 @@
|
||||
</div>
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div class="Scheduling">
|
||||
<p class="title">大屏</p>
|
||||
<p class="title">{{$t('trainRoom.bigScreen')}}</p>
|
||||
<ul>
|
||||
<li v-for="(nor, index) in bigScreenList" :key="index" class="selectPerson">
|
||||
<span>{{ nor.nickName }}</span>
|
||||
@ -188,7 +188,7 @@
|
||||
type="danger"
|
||||
:loading="loading"
|
||||
@click="exit"
|
||||
>销毁房间
|
||||
>{{$t('trainRoom.destroyRoom')}}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="userId == roomInfo.creatorId"
|
||||
@ -196,7 +196,7 @@
|
||||
type="success"
|
||||
:loading="loading"
|
||||
@click="postCode"
|
||||
>生成二维码
|
||||
>{{$t('trainRoom.generatingQRCode')}}
|
||||
</el-button>
|
||||
<template v-if="!starting">
|
||||
<el-button
|
||||
@ -206,7 +206,7 @@
|
||||
:loading="loading"
|
||||
@click="start"
|
||||
>
|
||||
开始仿真</el-button>
|
||||
{{$t('trainRoom.startSimulation')}}</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
@ -215,7 +215,7 @@
|
||||
:loading="loading"
|
||||
@click="joinJointTrain"
|
||||
>
|
||||
进入仿真</el-button>
|
||||
{{$t('trainRoom.enterSimulation')}}</el-button>
|
||||
<el-button
|
||||
v-if="userId == roomInfo.creatorId"
|
||||
style="margin-left: 10px"
|
||||
@ -223,9 +223,9 @@
|
||||
:loading="loading"
|
||||
@click="stop"
|
||||
>
|
||||
结束仿真</el-button>
|
||||
{{$t('trainRoom.endSimulation')}}</el-button>
|
||||
</template>
|
||||
<el-button type="" @click="backRoom">返回
|
||||
<el-button type="" @click="backRoom">{{$t('global.back')}}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@ -236,7 +236,7 @@
|
||||
<div style="float: left;" />
|
||||
<div style="float: right; font-size: 15px;">{{ treeData.length }}/{{ roomInfo.totalNum }}</div>
|
||||
</div>
|
||||
<el-input v-model="filterText" placeholder="输入名称进行过滤" clearable />
|
||||
<el-input v-model="filterText" :placeholder="this.$t('global.enterNameToFilter')" clearable />
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{ height: (height) +'px' }">
|
||||
<el-tree
|
||||
ref="trainingTree"
|
||||
@ -480,7 +480,7 @@ export default {
|
||||
this.treeData.splice(index, 1);
|
||||
if (this.userId == param.id) {
|
||||
this.$router.push({ path: `/` });
|
||||
this.messageInfo('您被管理员踢出房间。', 'warning');
|
||||
this.messageInfo(this.$t('tip.beKickedOut'), 'warning');
|
||||
} else {
|
||||
param.userRole = '';
|
||||
param['deviceCode'] = '';
|
||||
@ -640,7 +640,7 @@ export default {
|
||||
if (res.code == '200') {
|
||||
const param = {
|
||||
url: res.data,
|
||||
title: '分发房间二维码'
|
||||
title: this.$t('trainRoom.distributeTheRoomQRCode')
|
||||
};
|
||||
if (this.$refs) {
|
||||
this.$refs.qrCode.doShow(param);
|
||||
@ -662,11 +662,11 @@ export default {
|
||||
await startJointTraining(this.$route.query.group);
|
||||
this.loading = false;
|
||||
} catch (error) {
|
||||
this.messageInfo('开始综合演练失败。', 'error');
|
||||
this.messageInfo( this.$t('error.startedComprehensiveDrillFailure'), 'error');
|
||||
this.loading = false;
|
||||
}
|
||||
} else {
|
||||
this.messageInfo('车站值班员所属车站不能为空', 'error');
|
||||
this.messageInfo( this.$t('error.stationAttendantStationCannotBeEmpty'), 'error');
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
@ -687,26 +687,36 @@ export default {
|
||||
this.loading = false;
|
||||
this.$router.push({ path: `/demonstration/detail/${this.mapId}` });
|
||||
} catch (error) {
|
||||
this.messageInfo('操作失败!', 'error');
|
||||
this.messageInfo( this.$t('error.operationFailure'), 'error');
|
||||
}
|
||||
},
|
||||
// 管理员销毁房间
|
||||
exit() {
|
||||
this.loading = false;
|
||||
this.$confirm('您将销毁房间,是否确定执行此操作', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
this.$confirm( this.$t('tip.destroyRoomHint'), this.$t('tip.hint'), {
|
||||
confirmButtonText: this.$t('global.confirm'),
|
||||
cancelButtonText: this.$t('global.cancel'),
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
try {
|
||||
await deljointTrainRoom(this.$route.query.group);
|
||||
} catch (error) {
|
||||
this.messageInfo('销毁房间失败!', 'error');
|
||||
this.messageInfo(this.$t('error.destroyedRoomFailed'), 'error');
|
||||
}
|
||||
});
|
||||
},
|
||||
// 打开弹窗
|
||||
addingRoles(name, title) {
|
||||
const titleMap = {
|
||||
'增加调度人员': this.$t('trainRoom.increaseDispatchers'),
|
||||
'增加车站值班员': this.$t('trainRoom.increaseStationAttendant'),
|
||||
'增加教员': this.$t('trainRoom.increaseTeacher'),
|
||||
'增加通号': this.$t('trainRoom.increaseUniversalAccount'),
|
||||
'增加司机': this.$t('trainRoom.driver'),
|
||||
'增加大屏': this.$t('trainRoom.increaseBigScreen'),
|
||||
'增加IBP': this.$t('trainRoom.increaseIbp')
|
||||
};
|
||||
title = titleMap[title];
|
||||
this.listName = name;
|
||||
const treeList = [];
|
||||
this.treeData.forEach(item => {
|
||||
@ -763,7 +773,7 @@ export default {
|
||||
});
|
||||
} catch (error) {
|
||||
if (error.code == 500009) {
|
||||
this.messageInfo('分配角色数量已超过可分配角色总数!', 'error');
|
||||
this.messageInfo(this.$t('error.exceededTheTotalNumberOfAssignableRoles'), 'error');
|
||||
}
|
||||
this.treeData.forEach(item => {
|
||||
if (item.userRole == '' || item.userRole == 'Audience' || item.userRole == 'IBP') {
|
||||
|
@ -29,7 +29,7 @@ export default {
|
||||
menu: [],
|
||||
menuShow: [
|
||||
{
|
||||
label: '踢出房间',
|
||||
label: this.$t('trainRoom.kickOutTheRoom'),
|
||||
handler: this.kicked
|
||||
}
|
||||
],
|
||||
|
@ -39,7 +39,7 @@
|
||||
rows=""
|
||||
cols=""
|
||||
/>
|
||||
<button class="sendBtn" @click="sendText()">发送文字</button>
|
||||
<button class="sendBtn" @click="sendText()">{{$t('trainRoom.sendText')}}</button>
|
||||
<div
|
||||
class="sendBtn yuyin_start zIndex1"
|
||||
:style="{background: background}"
|
||||
@ -47,7 +47,7 @@
|
||||
@mouseup="stopRecording()"
|
||||
>{{ speak }}</div>
|
||||
<div v-show="sending" class="sendBtn yuyin_start zIndex2" :style="{background: background}">
|
||||
发送中...</div>
|
||||
{{$t('trainRoom.sending')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -72,7 +72,7 @@ export default {
|
||||
text: '',
|
||||
recorders: null,
|
||||
stomp: null,
|
||||
speak: '按住说话',
|
||||
speak: this.$t('trainRoom.holdAndTalk'),
|
||||
sending: false,
|
||||
background: '',
|
||||
userId: ''
|
||||
@ -93,7 +93,7 @@ export default {
|
||||
// 发送文字
|
||||
async sendText() {
|
||||
if (!this.text.trim()) {
|
||||
alert('内容为空,不可发送!');
|
||||
alert(this.$t('trainRoom.contentIsEmptyAndCannotBeSent'));
|
||||
this.text = '';
|
||||
} else {
|
||||
try {
|
||||
@ -107,7 +107,7 @@ export default {
|
||||
// 语音录制开始
|
||||
startRecording() {
|
||||
this.background = '#ccc';
|
||||
this.speak = '录音中...';
|
||||
this.speak = this.$t('trainRoom.recording');
|
||||
this.sending = false;
|
||||
HZRecorder.init.get(rec => {
|
||||
if (typeof rec == 'object') {
|
||||
@ -119,7 +119,7 @@ export default {
|
||||
// 停止录制
|
||||
async stopRecording() {
|
||||
this.background = '';
|
||||
this.speak = '按住说话';
|
||||
this.speak = this.$t('trainRoom.holdAndTalk');
|
||||
this.sending = true;
|
||||
if (this.recorders) {
|
||||
this.recorders.stop();
|
||||
@ -131,25 +131,25 @@ export default {
|
||||
if (message.err_no == 3301) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频质量有问题',
|
||||
message: this.$t('error.problemWithAudioQuality'),
|
||||
type: 'error'
|
||||
});
|
||||
} else if (message.err_no == 3308) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频过长,建议60s以下',
|
||||
message: this.$t('error.audioIsTooLong'),
|
||||
type: 'error'
|
||||
});
|
||||
} else if (message.err_no == 3314) {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频太短,建议重录',
|
||||
message: this.$t('error.audioIsTooShort'),
|
||||
type: 'error'
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '网络问题,请重试',
|
||||
message: this.$t('error.networkProblem'),
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
@ -159,7 +159,7 @@ export default {
|
||||
this.sending = false;
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '音频太短,建议重录',
|
||||
message: this.$t('error.audioIsTooShort'),
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user