Merge remote-tracking branch 'origin/test' into test

# Conflicts:
#	src/utils/baseUrl.js
This commit is contained in:
program-walker 2019-11-11 20:05:02 +08:00
commit eec5403678
664 changed files with 78414 additions and 75737 deletions

View File

@ -25,31 +25,31 @@ module.exports = {
"vue/no-v-html": "off",
'accessor-pairs': 2,
"arrow-spacing": 0,//=>的前/后括号
'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', {
'block-spacing': [2, 'always'], // 禁止或强制在代码块中开括号前和闭括号后有空格 { return 11 }
'brace-style': [2, '1tbs', { // 强制在代码块中使用一致的大括号风格
'allowSingleLine': true
}],
'camelcase': [0, {
'camelcase': [0, { // 强制使用驼峰拼写法命名规定
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
'comma-spacing': [2, {
'comma-dangle': [2, 'never'], // 要求或禁止末尾逗号
'comma-spacing': [2, { // 强制在逗号前后使用一致的空格
'before': false,
'after': true
}],
'comma-style': [2, 'last'],
'constructor-super': 2,
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'comma-style': [2, 'last'], // 强制在逗号前后使用一致的空格
'constructor-super': 2, // 要求在构造函数中有super()调用
'curly': [2, 'multi-line'], // 强制所有控制语句使用一致的括号风格
'dot-location': [2, 'property'], // 强制在点号之前和之后一致的换行
'eol-last': 2, // 禁止文件末尾存在空行禁止文件末尾存在空行
'generator-star-spacing': [2, {
'before': true,
'after': true
}],
'handle-callback-err': [2, '^(err|error)$'],
'indent': ["error", "tab"],
'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, {
'indent': [2, 4], // 强制使用一致的缩进
'jsx-quotes': [2, 'prefer-single'], // 强制在JSX属性中一致地使用双引号或单引号
'key-spacing': [0, { // 强制要求在对象字面量的属性中键和值之间使用一致的间距
'beforeColon': false,
'afterColon': true
}],
@ -58,8 +58,8 @@ module.exports = {
'after': true
}],
"new-cap": 2,//函数名首行大写必须使用new方式调用首行小写必须用不带new方式调用
'new-parens': 2,
'no-array-constructor': 2,
'new-parens': 2, // 要求构造无参构造函数时有圆括号
'no-array-constructor': 2, // 禁用Array构造函数
'no-caller': 2,
'no-console': 'off',
'no-class-assign': 2,
@ -94,9 +94,10 @@ module.exports = {
}],
'no-lone-blocks': 2,
"no-mixed-spaces-and-tabs": [2, false],//禁止混用tab和空格
"no-multi-spaces": 1,//不能用多余的空格
"no-multi-spaces": 1,// 不能用多余的空格
'no-multi-str': 2,
'no-multiple-empty-lines': [2, {
'no-multiple-empty-lines': [2, { // 禁止出现多行空行
// 最大连续空行数
'max': 1
}],
'no-native-reassign': 2,
@ -121,7 +122,7 @@ module.exports = {
'no-sparse-arrays': 2,
'no-this-before-super': 2,
'no-throw-literal': 2,
"no-trailing-spaces": 1,//一行结束后面不要有空格
"no-trailing-spaces": 1,// 禁止行尾空格
'no-undef': 2,
'no-undef-init': 2,
'no-unexpected-multiline': 2,
@ -139,7 +140,7 @@ module.exports = {
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-escape': 0,
'no-whitespace-before-property': 2,
'no-whitespace-before-property': 2, // 禁止属性前有空白
'no-with': 2,
'one-var': [2, {
'initialized': 'never'
@ -150,21 +151,21 @@ module.exports = {
':': 'before'
}
}],
"padded-blocks": 0,//块语句内行首行尾是否要空行
"padded-blocks": 0, // 块语句内行首行尾是否要空行
'quotes': [2, 'single', {
'avoidEscape': true,
'allowTemplateLiterals': true
}],
'semi': [2, 'always'], //语句强制分号结尾
'semi-spacing': [2, {
'semi': [2, 'always'], // 语句强制分号结尾
'semi-spacing': [2, { // 强制分号之前和之后使用一致的空格
'before': false,
'after': true
}],
"strict": 2,//使用严格模式
'space-before-blocks': [2, 'always'], //不以新行开始的块{前面要不要有空格
"space-before-function-paren": [0, "always"],//函数定义时括号前面要不要有空格
"space-in-parens": [0, "never"],//小括号里面要不要有空格
"space-infix-ops": 0,//中缀操作符周围要不要有空格
'space-before-blocks': [2, 'always'], // 不以新行开始的块{前面要不要有空格 强制在块之前使用一致的空格
"space-before-function-paren": [0, "always"],// 函数定义时括号前面要不要有空格
"space-in-parens": [0, "never"],// 小括号里面要不要有空格
"space-infix-ops": 2,// 要求操作符周围有空格
'space-unary-ops': [2, {
'words': true,
'nonwords': false
@ -172,7 +173,7 @@ module.exports = {
'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}], //注释风格要不要有空格什么的
'template-curly-spacing': [2, 'never'],
// 'template-curly-spacing': [2, 'never'],
'use-isnan': 2, //禁止比较时使用NaN只能用isNaN()
'valid-typeof': 2, //必须使用合法的typeof的值
"wrap-iife": [2, "inside"],//立即执行函数表达式的小括号风格
@ -180,7 +181,7 @@ module.exports = {
'yoda': [2, 'never'], //禁止尤达条件
'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
"object-curly-spacing": [0, "never"],//大括号内是否允许不必要的空格
"array-bracket-spacing": [2, "never"], //是否允许非空数组里面有多余的空格
"object-curly-spacing": [0, "never"], // 强制在大括号中使用一致的空格
"array-bracket-spacing": [2, "never"], // 禁止或强制在括号内使用空格
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -7,9 +7,12 @@
<script>
import { handleToken } from '@/utils/auth';
import { creatSubscribe, perpetualTopic } from '@/utils/stomp';
import { creatSubscribe, perpetualTopic, commonTopic } from '@/utils/stomp';
import DeomonTopic from '@/views/demonstration/deomonTopic';
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import Cookies from 'js-cookie';
import { ProjectIcon } from '@/scripts/ConstDic';
import { logout } from '@/api/login';
export default {
name: 'App',
@ -29,6 +32,16 @@ export default {
mounted() {
this.prohibitSystemContextMenu();
this.subscribe();
const project = window.sessionStorage.getItem('project');
document.querySelector("link[rel*='icon']").href = ProjectIcon[project];
window.addEventListener('beforeunload', async e => {
const token = handleToken();
Cookies.remove('UserDesignName');
Cookies.remove('UserDesignToken');
Cookies.remove('UserName');
Cookies.remove('UserToken');
await logout(token);
});
},
methods: {
resizeHandler() {
@ -44,6 +57,7 @@ export default {
if (!this.$route.path.includes('/login') && this.$route.path != '/404') {
const header = { group: '', 'X-Token': handleToken() };
creatSubscribe(perpetualTopic, header);
creatSubscribe(commonTopic, header);
}
});
},

View File

@ -238,3 +238,29 @@ export function getPermissionJoint(group) {
}
});
}
// 添加或更新真实设备和仿真对象连接
export function setRealDevice(group, data) {
return request({
url: `/api/jointTraining/room/realDevice?group=${group}`,
method: 'post',
data: data
});
}
// 删除真实设备和仿真对象连接
export function delRealDevice(id, group) {
return request({
url: `/api/jointTraining/room/realDevice/${id}`,
method: 'delete',
params: { group: group }
});
}
// 获取真实设备列表
export function getRealDevices(group) {
return request({
url: `/api/jointTraining/room/${group}/devices`,
method: 'get'
});
}

188
src/api/designPlatform.js Normal file
View File

@ -0,0 +1,188 @@
import request from '@/utils/request';
export function getDraftLesson(params, mapId) {
/** 根据mapId获取草稿课程 */
return request({
url: `/api/mapSystem/findDraftLessonBy/${mapId}`,
method: 'get',
params
});
}
/** 获取用户地图树 */
export function getUserMapTree(cityCode) {
return request({
url: `/api/mapSystem/findDraftMapByCityCode?cityCode=${cityCode}`,
method: 'get'
});
}
/** 运行图*/
export function getRpListByUserMapId(mapId) {
return request({
url: `/api/draftMap/runPlan/findByDraftMapId/${mapId}`,
method: 'get'
});
}
export function getMapList(cityCode) {
/** 根据cityCode获取地图列表 */
return request({
url: `/api/mapSystem/queryMapByCityCode/${cityCode}`,
method: 'get'
});
}
/** 获取用户自己的运行图详情*/
export function getRpDetailByUserMapId(planId) {
return request({
url: `/api/draftMap/runPlan/selectDiagramData/${planId}`,
method: 'get'
});
}
/** 获取用户自己创建的草稿地图详情*/
export function getUserMapDetailByMapId(mapId) {
return request({
url: `/api/mapBuild/findById/${mapId}`,
method: 'get'
});
}
/** 用户自己的运行图仿真测试*/
export function runUserPlanNotify({ planId }) {
return request({
url: `/api/draftMap/runPlan/simulationCheck/${planId}`,
method: 'get'
});
}
/** 管理员获取需审核的课程列表 */
export function reviewLessonList(params) {
return request({
url: `/api/review/query/lesson`,
method: 'get',
params
});
}
/** 管理员发布课程接口 */
export function adminPublishLesson(data, id) {
return request({
url: `/api/review/${id}/publishLesson`,
method: 'post',
data: data
});
}
/** 管理员驳回课程发布申请 */
export function rejectedLessonRelease(data, id) {
return request({
url: `/api/review/lesson/${id}`,
method: 'post',
data: data
});
}
/** 普通用户申请课程发布和撤销申请 */
export function releaseOrCancel(id, status) {
return request({
url: `/api/review/lesson/releaseOrCancel/${id}/${status}`,
method: 'get'
});
}
/** 管理员获取需审核的剧本列表 ok */
export function reviewScriptList(params) {
return request({
url: `/api/review/query/script`,
method: 'get',
params
});
}
/** 管理员发布剧本 ok */
export function publishScript(id) {
return request({
url: `/api/review/${id}/publishScript`,
method: 'post'
});
}
/** 管理员剧本申请驳回 ok */
export function rejectScript(id, data) {
return request({
url: `/api/review/script/${id}`,
method: 'post',
data: data
});
}
/** 管理员获取需审核的运行图列表 */
export function reviewRunPlanList(params) {
return request({
url: `/api/review/query/runPlan`,
method: 'get',
params
});
}
/** 管理员发布运行图 */
export function publishRunPlan(planId, data) {
return request({
url: `/api/review/${planId}/publishRunPlan`,
method: 'post',
data: data
});
}
/** 普通用户申请或撤销运行图发布 */
export function releaseOrCancelRunPlan(planId, status) {
return request({
url: `/api/review/runPlan/releaseOrCancel/${planId}/${status}`,
method: 'get'
});
}
/** 管理员运行图申请驳回 */
export function rejectRunPlan(id, data) {
return request({
url: `/api/review/runPlan/${id}`,
method: 'post',
data: data
});
}
/** 用户申请发布剧本或者撤销剧本申请 */
export function releaseScript(id, status) {
return request({
url: `/api/review/script/releaseOrCancel/${id}/${status}`,
method: 'get'
});
}
/** 查看课程详情 */
export function reviewLessonDetail(id) {
return request({
url: `/api/review/previewLesson/${id}`,
method: 'get'
});
}
/** 管理员预览草稿运行图*/
export function previewRunPlan(planId) {
return request({
url: `/api/review/previewRunPlan/${planId}`,
method: 'get'
});
}
/** 加载剧本 */
export function loadDraftScript(scriptId, memberId, group) {
return request({
url: `api/simulation/${group}/scriptDraft/${scriptId}?memberId=${memberId}`,
method: 'post'
});
}
/** 获取已发布的有地图的城市列表*/
export function publisMapCityList(data) {
return request({
url: `/api/map/city?dicCode=${data}`,
method: 'get'
});
}

View File

@ -1,17 +1,17 @@
import request from '@/utils/request';
/** 根据皮肤获取地图版本信息*/
export function getPublishMapVersion(skinCode) {
export function getPublishMapVersion(id) {
return request({
url: `/api/map/skin/${skinCode}/version`,
url: `/api/map/${id}/version`,
method: 'get'
});
}
/** 根据皮肤获取发布地图详细内容*/
export function getPublishMapDetail(skinCode) {
export function getPublishMapDetail(id) {
const datad = request({
url: `/api/map/skin/${skinCode}/details`,
url: `/api/map/${id}/details`,
method: 'get'
});
return datad.then();
@ -66,9 +66,9 @@ export function loadmap3dModel() {
method: 'get'
});
}
export function getPublish3dMapDetail(skinCode) {
export function getPublish3dMapDetail(id) {
const datad = request({
url: `/api/map/${skinCode}/3dMapData`,
url: `/api/map/${id}/3dMapData`,
method: 'get'
});
return datad.then();

View File

@ -8,11 +8,10 @@ export function getPublishLessonList() {
});
}
/** 获取发布列表树*/
export function getPublishLessonTree(params) {
export function getPublishLessonTree(id) {
return request({
url: '/api/lesson/tree',
method: 'get',
params: params || {}
url: `/api/lesson/${id}/tree`,
method: 'get'
});
}
@ -57,12 +56,20 @@ export function putLessonOffLine(id) {
});
}
/**
* 获取地图产品下的课程列表
*/
export function getCommodityProductLesson(prdCode) {
/** 更新发布课程信息*/
export function updatePublishLesson(data) {
return request({
url: `/api/lesson/${prdCode}/list`,
method: 'get'
url: `/api/lesson/${data.id}/nameAndRemarks`,
method: 'put',
data: data
});
}
/** 获取某个地图下的发布的课程列表*/
export function getPublishLessonListByMapId(params) {
return request({
url: '/api/lesson/listOfMap',
method: 'get',
params
});
}

View File

@ -1,11 +1,10 @@
import request from '@/utils/request';
/** 获取课程树*/
export function getLessonTree(params) {
// /** 获取课程树*/
export function getLessonTree(lessonId) {
return request({
url: '/api/lessonDraft/tree',
method: 'get',
params: params
url: `/api/lessonDraft/${lessonId}/tree`,
method: 'get'
});
}
@ -96,10 +95,10 @@ export function dragSortLessonChapter(data) {
});
}
/** 根据lessonId获取课程名称*/
export function getLessonNameByMapIdAndLessonId(model) {
export function getLessonDrftList(mapId, params) {
return request({
url: `/api/lessonDraft/${model.mapId}/${model.lessonId}`,
method: 'get'
url: `/api/lessonDraft/${mapId}/list`,
method: 'get',
params: params
});
}

View File

@ -8,27 +8,18 @@ export function getPublishMapList(params) {
params: params
});
}
/** 获取所有可用地图列表*/
export function getPublishMapListOnline() {
return request({
url: '/api/map/listOnline',
method: 'get'
});
}
/** 根据皮肤获取发布地图列表*/
export function getPublishMapListBySkinCode(skinCode) {
export function getPublishMapListByLineCode(lineCode) {
return request({
url: `/api/map/${skinCode}/list`,
method: 'get'
});
}
/** 根据皮肤获取地图版本信息*/
export function getPublishMapVersion(skinCode) {
return request({
url: `/api/map/skin/${skinCode}/version`,
method: 'get'
});
}
/** 根据皮肤获取发布地图详细内容*/
export function getPublishMapDetail(skinCode) {
return request({
url: `/api/map/skin/${skinCode}/details`,
url: `/api/map/${lineCode}/list`,
method: 'get'
});
}
@ -49,19 +40,12 @@ export function getPublishMapDetailById(id) {
});
}
/** 获取发布地图列车列表*/
export function getPublishTrainList(skinCode) {
/** 获取发布地图列(不包含项目线路)*/
export function listPublishMap(params) {
return request({
url: `/api/map/${skinCode}/train`,
method: 'get'
});
}
/** 获取发布地图列表*/
export function listPublishMap() {
return request({
url: '/api/map/list',
method: 'get'
url: `/api/map/list`,
method: 'get',
params
});
}
@ -114,7 +98,7 @@ export function updatePublishMapName(data) {
});
}
/** 修改发布地图名称*/
/** 获取发布地图详情*/
export function getPublishMapDetailList(params, code) {
return request({
url: `/api/map/${code}/versions`,
@ -122,3 +106,46 @@ export function getPublishMapDetailList(params, code) {
params: params
});
}
/** 获取有屏蔽门的站台列表*/
export function hasDoorStationList(mapId) {
return request({
url: `/api/map/${mapId}/stand/hasDoor`,
method: 'get'
});
}
/** 修改发布地图城市*/
export function updatePublishMapCity(data) {
return request({
url: `/api/map/${data.mapId}/city`,
method: 'put',
data: data
});
}
/** 设置归属项目 */
export function setMapProject(data) {
return request({
url: `/api/map/${data.id}/project`,
method: 'put',
data: data
});
}
/** 根据定制项目编号查询地图列表 */
export function getMapListByProjectCode(projectCode) {
return request({
url: `/api/map/project/${projectCode}/list`,
method: 'get'
});
}
/** 复制地图线路数据 */
export function copyMapAs(mapId, data) {
return request({
url: `/api/map/copy/${mapId}`,
method: 'post',
data: data
});
}

View File

@ -264,3 +264,10 @@ export function putAutoSignal(data) {
});
}
export function getListByCityCode(cityCode) {
return request({
url: `/api/mapBuild/${cityCode}/list`,
method: 'get'
});
}

View File

@ -44,14 +44,6 @@ export function sendTrainingNextStep(data, group) {
});
}
/** 获取实训树*/
export function getTrainingTree() {
return request({
url: `/api/training/tree`,
method: 'get'
});
}
/** 获取章节基本信息*/
export function getTrainingDetail(trainingId) {
return request({

View File

@ -69,16 +69,6 @@ export function getPermissionList(id) {
});
}
/**
* 查询仿真权限列表
*/
export function queryPermissionSimulation(data) {
return request({
url: `/api/userPermission/${data.mapId}/${data.prdCode}/simulation`,
method: 'get'
});
}
/** 获取大屏权限列表*/
export function queryPermissionScreen() {
return request({

View File

@ -139,3 +139,22 @@ export function setCommodityStatus(id) {
method: 'get'
});
}
/** 获取用户可以分发/转增的权限*/
export function getAvailableUserPermission(params) {
return request({
url: `/api/userPermission/getAvailableUserPermission`,
method: 'get',
params: params
});
}
/** 用户权限转增分发打包生成权限*/
export function givePermission(data) {
return request({
url: `/api/distribute/packageUserPermission`,
method: 'post',
data: data
});
}

View File

@ -1,14 +1,5 @@
import request from '@/utils/request';
/** 获取考试列表树*/
export function getCourseLessonTree(params) {
return request({
url: '/api/exam/tree',
method: 'get',
params: params
});
}
/** 创建对应课程考题 */
export function setCourseList(data) {
return request({

View File

@ -0,0 +1,69 @@
import request from '@/utils/request';
/** 分页查询真实线路*/
export function getSkinCodePageList(params) {
return request({
url: `/api/realLine`,
method: 'get',
params: params
});
}
/** 添加真实线路*/
export function addSkinCode(data) {
return request({
url: `/api/realLine`,
method: 'post',
data: data
});
}
/** 删除真实线路*/
export function delSkinCode(id) {
return request({
url: `/api/realLine/${id}`,
method: 'delete'
});
}
/** 根据id查询真实线路 */
export function querySkinCode(id) {
return request({
url: `/api/realLine/${id}`,
method: 'get'
});
}
/** 修改真实线路*/
export function updateSkinCode(data) {
return request({
url: `/api/realLine/${data.id}`,
method: 'put',
data: data
});
}
/** 通过皮肤Code更新地图皮肤*/
export function updateSkinCodeByCode(data) {
return request({
url: `/api/realLine/${data.code}/update`,
method: 'put',
data: data
});
}
/** 检查code是否存在*/
export function querySkinCodeExistByCode(code) {
return request({
url: `/api/realLine/${code}/exist`,
method: 'get'
});
}
/** 获取真实线路列表*/
export function getLineCodeList() {
return request({
url: `/api/realLine/list`,
method: 'get'
});
}

View File

@ -9,9 +9,9 @@ export function getPublishMapTree(cityCode) {
}
/** 获取产品详细内容*/
export function getProductDetail(prdCode) {
export function getProductDetail(prdId) {
return request({
url: `/api/mapPrd/${prdCode}`,
url: `/api/mapPrd/${prdId}`,
method: 'get'
});
}
@ -25,7 +25,7 @@ export function checkCodeExist(data) {
});
}
/** 获取产品类目数*/
/** 获取产品*/
export function getProductTree() {
return request({
url: `/api/mapPrd/tree`,
@ -62,9 +62,9 @@ export function deleteTrainingCategory(data) {
/**
* 获取地图下的产品列表
*/
export function getCommodityMapProduct(skinCode) {
export function getCommodityMapProduct(mapId) {
return request({
url: `/api/mapPrd/${skinCode}/list`,
url: `/api/mapPrd/${mapId}/list`,
method: 'get'
});
}
@ -72,9 +72,9 @@ export function getCommodityMapProduct(skinCode) {
/**
* 获取地图下的产品详情
*/
export function getMapProductDetail(prdCode) {
export function getMapProductDetail(prdId) {
return request({
url: `/api/mapPrd/${prdCode}`,
url: `/api/mapPrd/${prdId}`,
method: 'get'
});
}

View File

@ -1,69 +0,0 @@
import request from '@/utils/request';
/** 分页查询皮肤*/
export function getSkinCodePageList(params) {
return request({
url: `/api/mapSkin`,
method: 'get',
params: params
});
}
/** 添加皮肤*/
export function addSkinCode(data) {
return request({
url: `/api/mapSkin`,
method: 'post',
data: data
});
}
/** 删除皮肤*/
export function delSkinCode(id) {
return request({
url: `/api/mapSkin/${id}`,
method: 'delete'
});
}
/** 查询地图皮肤 */
export function querySkinCode(id) {
return request({
url: `/api/mapSkin/${id}`,
method: 'get'
});
}
/** 修改地图皮肤*/
export function updateSkinCode(data) {
return request({
url: `/api/mapSkin/${data.id}`,
method: 'put',
data: data
});
}
/** 通过皮肤Code更新地图皮肤*/
export function updateSkinCodeByCode(data) {
return request({
url: `/api/mapSkin/${data.code}/update`,
method: 'put',
data: data
});
}
/** 查询皮肤是否存在*/
export function querySkinCodeExistByCode(code) {
return request({
url: `/api/mapSkin/${code}/exist`,
method: 'get'
});
}
/** 获取皮肤列表*/
export function getSkinCodeList() {
return request({
url: `/api/mapSkin/list`,
method: 'get'
});
}

View File

@ -90,9 +90,9 @@ export function deleteOperateStepData(id) {
/**
* 批量生成操作列表
*/
export function addTrainingRulesList(skinCode, data) {
export function addTrainingRulesList(mapId, data) {
return request({
url: `/api/operate/${skinCode}/generate`,
url: `/api/operate/${mapId}/generate`,
method: 'post',
data: data
});
@ -106,8 +106,7 @@ export function getPlaceholderList(data) {
url: `/api/operate/placeholder`,
method: 'get',
params: {
trainingType: data.trainingType,
skinCode: data.skinCode
trainingType: data.trainingType
}
});
}
@ -121,15 +120,15 @@ export function getOperateTrainingList(data) {
method: 'get',
params: {
productType: data.productType,
skinCode: data.skinCode
mapId: data.mapId
}
});
}
// 另存为 操作定义
export function postOperateSaveAs(skinCode, other) {
export function postOperateSaveAs(mapId, other) {
return request({
url: `/api/operate/${skinCode}/saveAs/${other}`,
url: `/api/operate/${mapId}/saveAs/${other}`,
method: 'post'
});
}

View File

@ -110,3 +110,71 @@ export function delCacheList(key) {
method: 'delete'
});
}
// 更新用户真实姓名
export function getUserinfoName(id, name) {
return request({
url: `/api/userinfo/${id}/name?name=${name}`,
method: 'put'
});
}
// 更新用户昵称
export function getUserinfoNickname(id, nickname) {
return request({
url: `/api/userinfo/${id}/nickname?nickname=${nickname}`,
method: 'put'
});
}
// 更新用户手机号
export function getUserinfoMobile(id, data) {
return request({
url: `/api/userinfo/${id}/mobile`,
method: 'put',
data: data
});
}
// 发送手机验证码
export function getUserinfoMobileCode(data) {
return request({
url: `/api/userinfo/mobile/code`,
method: 'post',
data: data
});
}
// 更新用户邮箱
export function getUserinfoEmail(id, data) {
return request({
url: `/api/userinfo/${id}/email`,
method: 'put',
data: data
});
}
// 发送邮箱验证码
export function getUserinfoEmailCode(email) {
return request({
url: `/api/userinfo/email/code?email=${email}`,
method: 'post'
});
}
// 更新用户登陆密码
export function getUserinfoPassword(id, data) {
return request({
url: `/api/userinfo/${id}/password`,
method: 'put',
data: data
});
}
// 获取当前用户数量
export function getOnlineNmuber() {
return request({
url: `/api/cache/onlineUser`,
method: 'get'
});
}

10
src/api/pushMessage.js Normal file
View File

@ -0,0 +1,10 @@
import request from '@/utils/request';
/** 推送通知消息*/
export function pushMessage(data) {
return request({
url: `/api/pushMessage`,
method: 'post',
data: data
});
}

View File

@ -1,16 +1,17 @@
import request from '@/utils/request';
/** 查找个人录制的仿真任务*/
export function getQuestPageList(mapId) {
/** 分页查找个人录制的仿真任务*/
export function getQuestPageList(mapId, params) {
return request({
url: `/api/script/${mapId}/list`,
method: 'get'
url: `/api/script/draft/${mapId}/list`,
method: 'get',
params: params
});
}
/** 创建任务 */
export function createQuest(data) {
return request({
url: `/api/script`,
url: `/api/script/draft`,
method: 'post',
data
});
@ -18,28 +19,28 @@ export function createQuest(data) {
/** 根据任务id删除任务 */
export function deleteQuest(id) {
return request({
url: `/api/script/${id}`,
url: `/api/script/draft/${id}`,
method: 'delete'
});
}
/** 根据id查询任务基础信息 */
export function getQuestById(id) {
return request({
url: `/api/script/${id}/basic`,
url: `/api/script/draft/${id}`,
method: 'get'
});
}
/** 根据id查询任务基础信息 */
/** 根据id查询任务详情信息 */
export function getQuestByIdList(id) {
return request({
url: `/api/quest/${id}/detail`,
url: `/api/script/draft/${id}/detail`,
method: 'get'
});
}
/** 更新任务基本信息 */
export function updateQuest(id, data) {
return request({
url: `/api/script/${id}`,
url: `/api/script/draft/${id}`,
method: 'put',
data
});
@ -53,3 +54,21 @@ export function getQuestPageListOnline(params) {
params: params
});
}
/** 剧本发布 */
export function publishQuest(id, data) {
return request({
url: `/api/script/draft/${id}/publish`,
method: 'put',
data
});
}
/** 剧本撤销发布 */
export function retractQuest(id, data) {
return request({
url: `/api/script/draft/${id}/retract`,
method: 'put'
});
}

View File

@ -1,25 +1,5 @@
import request from '@/utils/request';
/**
* 获取运行图列表
*/
export function getRunPlanList() {
return request({
url: '/api/runPlan/draft/tree',
method: 'get'
});
}
/**
* 获取地图速度等级列表
*/
export function getSpeedLevels(skinCode) {
return request({
url: `/api/runPlan/draft/${skinCode}/speed`,
method: 'get'
});
}
/**
* 新建地图速度等级列表
*/
@ -41,16 +21,6 @@ export function getStationList(mapId) {
});
}
/**
* 通过皮肤获取运行图车站列表
*/
export function getStationListBySkinCode(skinCode) {
return request({
url: `/api/runPlan/draft/station/${skinCode}/bySkin`,
method: 'get'
});
}
/**
* 创建运行图
*/
@ -72,10 +42,10 @@ export function queryRunPlan(planId) {
});
}
// 根据skinCode查询发布运行图列表
export function queryRunPlanList(skinCode) {
// 根据mapId查询发布运行图列表
export function queryRunPlanList(mapId) {
return request({
url: `/api/runPlan/template/skin/${skinCode}`,
url: `/api/runPlan/template/${mapId}/list`,
method: 'get'
});
}
@ -122,20 +92,12 @@ export function publishRunPlan(data) {
*/
export function importRunPlan(data) {
return request({
url: `/api/runPlan/draft/${data.skinCode}/prdPlan`,
url: `/api/runPlan/draft/${data.mapId}/prdPlan`,
method: 'post',
data: data.runPlanList
});
}
/** 获取运行图停车点列表*/
export function getRunPlanStopPointList(skinCode) {
return request({
url: `/api/runPlan/draft/stopPoint/${skinCode}`,
method: 'get'
});
}
/** 运行图*/
export function getRpListByMapId(mapId) {
return request({
@ -145,17 +107,17 @@ export function getRpListByMapId(mapId) {
}
/** 获取站间运行时间*/
export function getStationRunning(skinCode) {
export function getStationRunning(mapId) {
return request({
url: `/api/runPlan/draft/${skinCode}/stationRunning`,
url: `/api/runPlan/draft/${mapId}/stationRunning`,
method: 'get'
});
}
/** 设置站间运行时间*/
export function setStationRunning(skinCode, data) {
export function setStationRunning(mapId, data) {
return request({
url: `/api/runPlan/draft/${skinCode}/stationRunning`,
url: `/api/runPlan/draft/${mapId}/stationRunning`,
method: 'put',
data: data
});
@ -317,14 +279,6 @@ export function deleteRunPlanEveryDay(planId) {
});
}
/** 获取地图运行图的车次号*/
// export function getPublishMapTrainNos(skinCode) {
// return request({
// url: `/api/runPlan/daily/${skinCode}/trainNos`,
// method: 'get'
// });
// }
/** 分页查询加载计划*/
export function getRunPlanLoadList(params) {
return request({
@ -411,7 +365,7 @@ export function postSchedulingCommonGenerate(mapId) {
// 从加载计划创建每日计划
export function postRunPlanTemplate(data) {
return request({
url: `/api/runPlan/template/${data.id}/copyAs/${data.skinCode}?name=${data.name}`,
url: `/api/runPlan/template/${data.id}/copyAs/${data.mapId}?name=${data.name}`,
method: 'post'
});
}

View File

@ -4,6 +4,7 @@ import request from '@/utils/request';
export function getScriptPageListOnline(params) {
return request({
url: `/api/script/paging/online`,
// url: `/api/script/paging/published`,
method: 'get',
params: params
});
@ -17,10 +18,17 @@ export function getScriptByIdList(id) {
});
}
/** 通过ID查询剧本的基础信息 */
/** 通过ID查询发布的剧本的详细信息 */
export function getScriptById(id) {
return request({
url: `/api/script/${id}/detail`,
method: 'get'
});
}
/** 通过ID查询未发布剧本的详细信息 */
export function getDraftScriptByGroup(group) {
return request({
url: `/api/simulation/${group}/script/loadedScript`,
method: 'get'
});
}

View File

@ -69,9 +69,9 @@ export function runDiagramIsStart(group) {
* 仿真系统CBTC
* @param {*} mapId
*/
export function simulationNotify({ mapId, code }) {
export function simulationNotify({ mapId, mapPrdId }) {
return request({
url: `/api/simulation/${mapId}/${code}`,
url: `/api/simulation/${mapId}/${mapPrdId}`,
method: 'get'
});
}
@ -408,3 +408,29 @@ export function schedulingNotify(params) {
params
});
}
/** 获取PLC网关 */
export function getPlcGateway(group) {
return request({
url: `/api/simulation/${group}/plcGateway`,
method: 'get'
});
}
/** 处理ibp盘事件 */
export function handlerIbpEvent(group, data) {
return request({
url: `/api/simulation/${group}/ibp/event`,
method: 'post',
data: data
});
}
/** 预览脚本仿真*/
export function scriptDraftRecordNotify(scriptId) {
return request({
url: `/api/simulation/scriptDraft/${scriptId}`,
method: 'get'
});
}

View File

@ -0,0 +1,86 @@
import request from '@/utils/request';
export function getTrainingSystemList(cityCode, params) {
/** 根据cityCode后去对应地图及其子系统 */
return request({
url: `/api/mapSystem/city/${cityCode}`,
method: 'get',
params
});
}
export function getTrainingSystemListByMapId(mapId) {
/** 根据mapId去获取其子系统 */
return request({
url: `/api/mapSystem/${mapId}`,
method: 'get'
});
}
export function generateMapSystem(mapId) {
/** 根据mapId生成地图子系统 */
return request({
url: `/api/mapSystem/generate/${mapId}`,
method: 'post'
});
}
export function getSubSystemInfo(id) {
/** 查询子系统信息 */
return request({
url: `/api/mapSystem/${id}`,
method: 'get'
});
}
export function getSubSystemDetail(id) {
/** 查询子系统详情*/
return request({
url: `/api/mapSystem/${id}/detail`,
method: 'get'
});
}
export function getMapSystemPageList(params) {
/** 分页查询地图系统 */
return request({
url: `/api/mapSystem`,
method: 'get',
params
});
}
export function createMapSubSystem(data) {
/** 创建地图系统 */
return request({
url: `/api/mapSystem`,
method: 'post',
data: data
});
}
export function updateSubSystem(id, data) {
/** 查询子系统信息 */
return request({
url: `/api/mapSystem/${id}`,
method: 'put',
data: data
});
}
export function deleteSubSystem(id) {
/** 删除地图系统 */
return request({
url: `/api/mapSystem/${id}`,
method: 'delete'
});
}
export function getSubSystemByProjectCode(projectCode) {
/** 根据项目编号查询地图子系统 */
return request({
url: `/api/mapSystem/project/${projectCode}`,
method: 'get'
});
}

BIN
src/assets/erCode.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
src/assets/icon/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
src/assets/logo_changan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
src/assets/logo_xty.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@ -108,15 +108,15 @@ export default {
computed: {
width() {
let fontNum = 0;
let newLabel='';
let newLabel = '';
this.menu.forEach(elem => {
newLabel = elem.label && elem.label.replace(/[^\u0000-\u00ff]/g, 'aa');
if (elem.label && newLabel.length > fontNum) {
fontNum=newLabel.length;
fontNum = newLabel.length;
// fontNum = elem.label.length;
}
});
var width = fontNum/2 * this.defaultFontSize + 60 + 'px';
var width = fontNum / 2 * this.defaultFontSize + 60 + 'px';
// if(this.$t('global.lanuage')==='en'){
// width = fontNum/2 * this.defaultFontSize + 40 + 'px';
// }
@ -127,6 +127,7 @@ export default {
},
methods: {
resetShowPosition(point) {
console.log(point);
if (point) {
this.show = true;
const self = this;

View File

@ -39,6 +39,7 @@
<el-input
v-model="formModel[item.prop]"
type="textarea"
:autosize="item.isAutoSize||false"
:placeholder="item.placeholder"
:disabled="item.disabled"
:style="{width: item.tooltip ? 'calc(100% - 50px)' : '100%'}"
@ -113,6 +114,7 @@
:key="option.value"
:label="option.label"
:value="option.value"
:disabled="option.disabled"
/>
</el-select>
</template>
@ -131,6 +133,7 @@
:key="option.value"
:label="option.label"
:value="option.value"
:disabled="option.disabled"
/>
</el-select>
</template>
@ -146,6 +149,7 @@
:key="option.value"
:label="option.label"
:value="option.value"
:disabled="option.disabled"
/>
</el-select>
</template>
@ -162,6 +166,7 @@
:key="option.value"
:label="option.label"
:value="option.value"
:disabled="option.disabled"
/>
</el-select>
</template>
@ -177,6 +182,7 @@
:key="option.value"
:label="option.label"
:value="option.value"
:disabled="option.disabled"
/>
</el-select>
</template>

View File

@ -10,7 +10,7 @@
style="padding-top: 18px;"
>
<el-row>
<el-col :span="18">
<el-col :span="leftSpan">
<template v-for="(colNum, rIndex) in rowColumnList">
<el-row :key="rIndex" :gutter="20">
<template v-for="(field, name, index) in queryObject">
@ -127,8 +127,8 @@
</el-row>
</template>
</el-col>
<el-col :span="6" :offset="0">
<el-button type="primary" size="small" :disabled="!canQuery" @click="query">{{ $t('global.query') }}</el-button>
<el-col :span="24-leftSpan-1" :offset="1">
<el-button style="margin-right: 10px" type="primary" size="small" :disabled="!canQuery" @click="query">{{ $t('global.query') }}</el-button>
<el-button v-if="queryForm.reset" type="primary" size="small" :disabled="!canQuery" @click="doClean">{{ $t('global.reset') }}</el-button>
<el-button v-if="exportFlag" type="primary" size="small" :disabled="!canQuery" @click="doExport">{{ $t('global.export') }}</el-button>
<template v-for="(button, index) in queryList.actions">
@ -138,6 +138,7 @@
:type="button.type ? button.type: 'primary'"
size="small"
:style="button.style"
class="button_style"
@click="button.handler"
>{{ button.text }}</el-button>
</template>
@ -172,6 +173,12 @@ export default {
canQuery: {
type: Boolean,
required: true
},
leftSpan: {
type: Number,
default() {
return 18;
}
}
},
data() {
@ -466,6 +473,9 @@ export default {
if (row.change) {
row.change(form);
}
if ( typeof row.selectChange === 'function') {
row.selectChange && row.selectChange(form);
}
}
}
};
@ -480,4 +490,9 @@ export default {
max-width: 240px;
min-width: 100px;
}
.el-button+.el-button {
margin-right:10px;
margin-left: 0;
margin-bottom: 10px;
}
</style>

View File

@ -1,9 +1,11 @@
<template>
<div class="query-list-page" :style="{height: queryList.height ? 'auto' : listPageHeight}">
<!-- :style="{height: queryList.height ? 'auto' : listPageHeight}" -->
<div class="query-list-page">
<query-form
v-show="!(queryForm.show === false)"
ref="queryForm"
:query-form="queryForm"
:left-span="queryForm.leftSpan"
:query-list="queryList"
:before-query="queryForm.beforeQuery"
:can-query="canQuery"
@ -28,7 +30,7 @@
@selection-change="onSelectionChange"
>
<el-table-column v-if="queryList.selectCheckShow" type="selection" width="55" />
<el-table-column v-if="queryList.indexShow" type="index" width="50" />
<el-table-column v-if="queryList.indexShow" type="index" width="50" :label="this.$t('global.index')" />
<el-table-column v-if="queryList.radioShow" :label="`#${$t('global.select')}`" width="60">
<template slot-scope="scope">
<el-radio v-model="choose" :label="scope.row">{{ `` }}</el-radio>
@ -453,7 +455,10 @@ export default {
currentChoose() {
return this.choose;
},
refresh() {
refresh(flag) {
if (flag) {
this.commitQuery();
}
this.queryList.data = [...this.queryList.data];
}
}

View File

@ -0,0 +1,54 @@
import store from '@/store';
export default {
bind(el) {
const dialogHeaderEl = el.querySelector('.el-dialog__header');
const dragDom = el.querySelector('.el-dialog');
dialogHeaderEl.style.cursor = 'move';
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
dialogHeaderEl.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX - dialogHeaderEl.offsetLeft;
const disY = e.clientY - dialogHeaderEl.offsetTop;
/** 获取到的值带px 正则匹配替换*/
let styL, styT;
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
if (sty.left.includes('%')) {
// eslint-disable-next-line no-useless-escape
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
} else {
// eslint-disable-next-line no-useless-escape
styL = +sty.left.replace(/\px/g, '');
// eslint-disable-next-line no-useless-escape
styT = +sty.top.replace(/\px/g, '');
}
document.onmousemove = function (e) {
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
const t = e.clientY - disY;
/** 移动当前元素*/
dragDom.style.left = `${l + styL}px`;
dragDom.style.top = `${t + styT}px`;
/** 刷新提示标签位置*/
store.dispatch('training/emitTipFresh');
/** 将此时的位置传出去*/
// binding.value({ x: e.pageX, y: e.pageY });
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
};

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './dialogDrag';
const dialogDrag = function(Vue) {
Vue.directive('dialogDrag', install);
};
Vue.use(dialogDrag);

View File

@ -0,0 +1,25 @@
export default {
bind(el, binding) {
const dragDom = binding.value.$el.querySelector('.el-dialog');
el.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX - el.offsetLeft;
document.onmousemove = function (e) {
/** 移动时禁用默认事件*/
e.preventDefault();
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
dragDom.style.width = `${l}px`;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
};

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './dialogDragWidth';
const dialogDragWidth = function(Vue) {
Vue.directive('dialogDragWidth', install);
};
Vue.use(dialogDragWidth);

106
src/directive/drag/drag.js Normal file
View File

@ -0,0 +1,106 @@
export default {
bind(el) {
const dragDom = el.querySelector('.reminder-box');
const dragRight = el.querySelector('.drag-right');
const dragLeft = el.querySelector('.drag-left');
const dragBottom = el.querySelector('.drag-bottom');
const dragTop = el.querySelector('.drag-top');
const dragBody = el.querySelector('.tip-body');
const body = el.querySelector('.tip-body-box');
dragRight.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disX = iEvent.clientX;
var disW = dragDom.offsetWidth;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disW + (iEvent.clientX - disX) > 350) {
dragDom.style.width = disW + (iEvent.clientX - disX) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragLeft.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disX = iEvent.clientX;
var disW = dragDom.offsetWidth;
var OFFLeft = dragDom.offsetLeft;
document.onmousemove = function (e) {
const iEvent = e || event;
const width = disW - (iEvent.clientX - disX);
if (width > 350) {
dragDom.style.width = disW - (iEvent.clientX - disX) + 'px';
dragDom.style.left = OFFLeft + (iEvent.clientX - disX) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragBottom.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disY = iEvent.clientY;
var disH = dragDom.offsetHeight;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disH + (iEvent.clientY - disY) > 200) {
dragDom.style.height = disH + (iEvent.clientY - disY) + 'px';
body.style.height = disH + (iEvent.clientY - disY) - 40 + 'px';
dragBody.style.height = disH + (iEvent.clientY - disY) - 100 + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragTop.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disY = iEvent.clientY;
var disH = dragDom.offsetHeight;
var OOFTop = dragDom.offsetTop;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disH - (iEvent.clientY - disY) > 200) {
dragDom.style.height = disH - (iEvent.clientY - disY) + 'px';
body.style.height = disH - (iEvent.clientY - disY) - 40 + 'px';
dragBody.style.height = disH - (iEvent.clientY - disY) - 100 + 'px';
dragDom.style.top = OOFTop + (iEvent.clientY - disY) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
}
};

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './drag';
const drag = function(Vue) {
Vue.directive('drag', install);
};
Vue.use(drag);

View File

@ -0,0 +1,18 @@
export default {
// 当被绑定的元素插入到 DOM 中时
inserted: function (el, obj) {
// 这是需要页面刚加载就能进行聚焦操作使用的钩子函数,可以省略的,视具体需求而定
// 对值进行判断
if (obj.value) {
// 聚焦元素
el.focus();
}
},
// 当指令所在组件的 VNode 及其子 VNode 全部更新后调用
// 这是每当绑定的值发生改变时触发的钩子函数
componentUpdated: function (el, obj) {
if (obj.value) {
el.focus();
}
}
};

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './focus';
const focus = function(Vue) {
Vue.directive('focus', install);
};
Vue.use(focus);

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './quickMenuDrag';
const quickMenuDrag = function(Vue) {
Vue.directive('quickMenuDrag', install);
};
Vue.use(quickMenuDrag);

View File

@ -0,0 +1,45 @@
export default {
bind(el) {
const dragDom = el;
dragDom.style.cursor = 'move';
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
dragDom.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX;
const disY = e.clientY;
/** 获取到的值带px 正则匹配替换*/
let styL, styT;
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
if (sty.left.includes('%')) {
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
} else {
styL = +sty.left.replace(/\px/g, '');
styT = +sty.top.replace(/\px/g, '');
}
document.onmousemove = function (e) {
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
const t = e.clientY - disY;
/** 移动当前元素*/
dragDom.style.left = `${l + styL}px`;
dragDom.style.top = `${t + styT}px`;
/** 将此时的位置传出去*/
// binding.value({ x: e.pageX, y: e.pageY });
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
};

View File

@ -0,0 +1,8 @@
import Vue from 'vue';
import install from './waves';
const waves = function(Vue) {
Vue.directive('waves', install);
};
Vue.use(waves);

View File

@ -0,0 +1,26 @@
.waves-ripple {
position: absolute;
border-radius: 100%;
background-color: rgba(0, 0, 0, 0.15);
background-clip: padding-box;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
opacity: 1;
}
.waves-ripple.z-active {
opacity: 0;
-webkit-transform: scale(2);
-ms-transform: scale(2);
transform: scale(2);
-webkit-transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out;
transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out;
transition: opacity 1.2s ease-out, transform 0.6s ease-out;
transition: opacity 1.2s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

View File

@ -0,0 +1,72 @@
import './waves.css';
const context = '@@wavesContext';
function handleClick(el, binding) {
function handle(e) {
const customOpts = Object.assign({}, binding.value);
const opts = Object.assign({
ele: el, // 波纹作用元素
type: 'hit', // hit 点击位置扩散 center中心点扩展
color: 'rgba(0, 0, 0, 0.15)' // 波纹颜色
},
customOpts
);
const target = opts.ele;
if (target) {
target.style.position = 'relative';
target.style.overflow = 'hidden';
const rect = target.getBoundingClientRect();
let ripple = target.querySelector('.waves-ripple');
if (!ripple) {
ripple = document.createElement('span');
ripple.className = 'waves-ripple';
ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px';
target.appendChild(ripple);
} else {
ripple.className = 'waves-ripple';
}
switch (opts.type) {
case 'center':
ripple.style.top = rect.height / 2 - ripple.offsetHeight / 2 + 'px';
ripple.style.left = rect.width / 2 - ripple.offsetWidth / 2 + 'px';
break;
default:
ripple.style.top =
(e.pageY - rect.top - ripple.offsetHeight / 2 - document.documentElement.scrollTop ||
document.body.scrollTop) + 'px';
ripple.style.left =
(e.pageX - rect.left - ripple.offsetWidth / 2 - document.documentElement.scrollLeft ||
document.body.scrollLeft) + 'px';
}
ripple.style.backgroundColor = opts.color;
ripple.className = 'waves-ripple z-active';
return false;
}
}
if (!el[context]) {
el[context] = {
removeHandle: handle
};
} else {
el[context].removeHandle = handle;
}
return handle;
}
export default {
bind(el, binding) {
el.addEventListener('click', handleClick(el, binding), false);
},
update(el, binding) {
el.removeEventListener('click', el[context].removeHandle, false);
el.addEventListener('click', handleClick(el, binding), false);
},
unbind(el) {
el.removeEventListener('click', el[context].removeHandle, false);
el[context] = null;
delete el[context];
}
};

View File

@ -1,283 +0,0 @@
/* eslint-disable no-useless-escape */
import Vue from 'vue';
import store from '@/store';
/**
*元素获取焦点v-dialogDrag
* @param {*} el
* @param {*} binding
*/
Vue.directive('focus', {
// 当被绑定的元素插入到 DOM 中时
inserted: function (el, obj) {
// 这是需要页面刚加载就能进行聚焦操作使用的钩子函数,可以省略的,视具体需求而定
// 对值进行判断
if (obj.value) {
// 聚焦元素
el.focus();
}
},
// 当指令所在组件的 VNode 及其子 VNode 全部更新后调用
// 这是每当绑定的值发生改变时触发的钩子函数
componentUpdated: function (el, obj) {
if (obj.value) {
el.focus();
}
}
});
/**
*弹窗拖拽v-dialogDrag
* @param {*} el
* @param {*} binding
* @param {*} vnode
* @param {*} oldvNode
*/
Vue.directive('dialogDrag', {
bind(el) {
const dialogHeaderEl = el.querySelector('.el-dialog__header');
const dragDom = el.querySelector('.el-dialog');
dialogHeaderEl.style.cursor = 'move';
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
dialogHeaderEl.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX - dialogHeaderEl.offsetLeft;
const disY = e.clientY - dialogHeaderEl.offsetTop;
/** 获取到的值带px 正则匹配替换*/
let styL, styT;
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
if (sty.left.includes('%')) {
// eslint-disable-next-line no-useless-escape
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
} else {
// eslint-disable-next-line no-useless-escape
styL = +sty.left.replace(/\px/g, '');
// eslint-disable-next-line no-useless-escape
styT = +sty.top.replace(/\px/g, '');
}
document.onmousemove = function (e) {
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
const t = e.clientY - disY;
/** 移动当前元素*/
dragDom.style.left = `${l + styL}px`;
dragDom.style.top = `${t + styT}px`;
/** 刷新提示标签位置*/
store.dispatch('training/emitTipFresh');
/** 将此时的位置传出去*/
// binding.value({ x: e.pageX, y: e.pageY });
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
});
/**
*弹窗宽度拖大,拖小dialogDragWidth
* @param {*} el
* @param {*} binding
* @param {*} vnode
* @param {*} oldvNode
*/
Vue.directive('dialogDragWidth', {
bind(el, binding) {
const dragDom = binding.value.$el.querySelector('.el-dialog');
el.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX - el.offsetLeft;
document.onmousemove = function (e) {
/** 移动时禁用默认事件*/
e.preventDefault();
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
dragDom.style.width = `${l}px`;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
});
/**
* 弹窗拖拽v-quickEntryDrag
* @param {*} el
* @param {*} binding
* @param {*} vnode
* @param {*} oldvNode
*/
Vue.directive('quickMenuDrag', {
bind(el) {
const dragDom = el;
dragDom.style.cursor = 'move';
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
dragDom.onmousedown = (e) => {
/** 鼠标按下,计算当前元素距离可视区的距离*/
const disX = e.clientX;
const disY = e.clientY;
/** 获取到的值带px 正则匹配替换*/
let styL, styT;
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
if (sty.left.includes('%')) {
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
} else {
styL = +sty.left.replace(/\px/g, '');
styT = +sty.top.replace(/\px/g, '');
}
document.onmousemove = function (e) {
/** 通过事件委托,计算移动的距离*/
const l = e.clientX - disX;
const t = e.clientY - disY;
/** 移动当前元素*/
dragDom.style.left = `${l + styL}px`;
dragDom.style.top = `${t + styT}px`;
/** 将此时的位置传出去*/
// binding.value({ x: e.pageX, y: e.pageY });
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
});
/**
*vue-自定义指令-拖拽 v-drag
*/
Vue.directive('drag', {
bind(el) {
const dragDom = el.querySelector('.reminder-box');
const dragRight = el.querySelector('.drag-right');
const dragLeft = el.querySelector('.drag-left');
const dragBottom = el.querySelector('.drag-bottom');
const dragTop = el.querySelector('.drag-top');
const dragBody = el.querySelector('.tip-body');
const body = el.querySelector('.tip-body-box');
dragRight.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disX = iEvent.clientX;
var disW = dragDom.offsetWidth;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disW + (iEvent.clientX - disX) > 350) {
dragDom.style.width = disW + (iEvent.clientX - disX) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragLeft.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disX = iEvent.clientX;
var disW = dragDom.offsetWidth;
var OFFLeft = dragDom.offsetLeft;
document.onmousemove = function (e) {
const iEvent = e || event;
const width = disW - (iEvent.clientX - disX);
if (width > 350) {
dragDom.style.width = disW - (iEvent.clientX - disX) + 'px';
dragDom.style.left = OFFLeft + (iEvent.clientX - disX) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragBottom.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disY = iEvent.clientY;
var disH = dragDom.offsetHeight;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disH + (iEvent.clientY - disY) > 200) {
dragDom.style.height = disH + (iEvent.clientY - disY) + 'px';
body.style.height = disH + (iEvent.clientY - disY) - 40 + 'px';
dragBody.style.height = disH + (iEvent.clientY - disY) - 100 + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
dragTop.onmousedown = (e) => {
document.onselectstart = function () {
return false;
};
// 宽度拖拽
var iEvent = e || event;
var disY = iEvent.clientY;
var disH = dragDom.offsetHeight;
var OOFTop = dragDom.offsetTop;
document.onmousemove = function (e) {
var iEvent = e || event;
if (disH - (iEvent.clientY - disY) > 200) {
dragDom.style.height = disH - (iEvent.clientY - disY) + 'px';
body.style.height = disH - (iEvent.clientY - disY) - 40 + 'px';
dragBody.style.height = disH - (iEvent.clientY - disY) - 100 + 'px';
dragDom.style.top = OOFTop + (iEvent.clientY - disY) + 'px';
}
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
document.onselectstart = null;
};
};
}
});

View File

@ -0,0 +1,41 @@
export default {
applicant: 'Applicant',
map: 'Map',
status: 'Status',
unpublished: 'Unpublished',
pendingReview: 'PendingReview',
releaseSuccess: 'ReleaseSuccess',
overrule: 'Overrule',
scriptName: 'Script Name',
scriptDescription: 'Script Description',
applyTime: 'Apply Time',
applyPassed: 'Apply Passed',
applyReject: 'Apply Reject',
scriptPreview: 'Script Preview',
passedScript: 'Passed Script',
rejectScript: 'Reject Script',
explanation: 'Explanation',
inputScriptName: 'Please input script name',
inputRejectExplanation: 'Please input reject explanation',
passedScriptSuccess: 'Passed script success',
passedScriptFailed: 'Passed script failed',
rejectScriptSuccess: 'Reject script success',
rejectScriptFailed: 'Reject script failed',
passedRunPlanSuccess: 'Passed run plan success',
passedRunPlanFailed: 'Passed run plan failed',
rejectRunPlanSuccess: 'reject run plan success',
rejectRunPlanFailed: 'reject run plan failed',
runPlanName: 'Run Plan Name',
passedRunPlan: 'Passed Run Plan',
rejectRunPlan: 'Reject Run Plan',
runPlanPreview: 'RunPlan Preview',
inputRunPlanName: 'Please input run plan name',
courseDescription: 'Course description',
lookOver: 'Look over',
courseDetails: 'Course details',
instructions: 'Instructions',
chapterTrainingName: 'Chapter/training name',
revokeScriptSuccess: 'Revoke script success',
revokeScriptFailed: 'Revoke script failed',
skin: 'Skin'
};

View File

@ -1,7 +1,7 @@
export default {
simulationSystem: 'Urban rail transit simulation system',
simulationSystemDescription: 'Based on the subway signal system, the urban rail transit simulation system is reformed for the training part, aiming to build a set of professional simulation system for driving demonstration. The system has high flexibility for future expansion and upgrading. Meanwhile, the simulation system has two modes of normal operation and fault operation. Besides normal functional operation, it can also conduct fault simulation of equipment.',
simulationName: 'Simulation name:',
simulationName: 'Simulation module:',
noSimulationProducts: 'No simulation products',
productDescription: 'Product description:',
startSimulation: 'Start the simulation',

View File

@ -0,0 +1,7 @@
export default {
mapPreview: 'Map Preview',
mapDesign: 'Map Design',
runPlanDesign: 'Run Plan Design',
lessonDesign: 'Lesson Design',
scriptDesign: 'Script Design'
};

View File

@ -79,6 +79,7 @@ export default {
schema: {
selectProduct: 'Please select product type',
loadScript: 'Load Script',
selectRoles: 'Select Roles',
previewRunDiagram: 'Preview Run Diagram',
loadRunDiagram: 'Load Run Diagram',
faultSetting: 'Fault Setting',
@ -123,6 +124,7 @@ export default {
dispatcher: 'Dispatcher',
attendant: 'Station',
audience: 'Audience',
repair: 'Repair',
driver: 'Train',
none: 'None'
},

View File

@ -10,6 +10,7 @@ export default {
deleteFailed: 'Failed to delete',
exportFailed: 'Export Execution Exceptions',
getListFailed: 'Failed to retrieve list data',
getPermissionListFailed: 'Failed to get permission list',
getDistributeQrcodeFailed: 'Failure to obtain permission to distribute two-dimensional code',
obtainMaxNumberFailed: 'Failed to obtain the maximum number of user privileges',
getTransferQrcodeFailed: 'Failure to obtain permission to transfer two-dimensional code',
@ -54,6 +55,7 @@ export default {
paperHasUseNotDel: 'The paper has been used and cannot be deleted',
batchCreateFailed: 'Batch build operation definition failed',
createOperateRuleFailed: 'Failed to create operation definition',
updateOperateRuleFailed:'Failed to update operation definition',
createOperateStepFailed: 'The create action step failed',
updateOperateStepFailed: 'The update action step failed',
packagePermissionFailed: 'Packaging authority failed',
@ -91,5 +93,16 @@ export default {
getRunGraphDataFailed: 'Failed to get run graph data',
getStationListFail: 'Failed to get station list',
obtainTrainGroupNumberFailed: 'Failed to obtain train group number',
getTrainListFailed: 'Failed to get train list'
getTrainListFailed: 'Failed to get train list',
getDraftCourseDataFailed: 'Failed to get draft course data!',
failedToGetCourseData: 'Failed to get course data!',
failedToGetSystemData: 'Failed to get system data!',
inquiryPLCDeviceFailed: 'Inquiry PLC device failed!',
getScreenDoorsListFailed: 'Get the list of screen doors failed!',
theDeviceTypeAlreadyExists: 'The device type already exists!',
connectToRealDeviceFailed: 'Connect to real device failed!',
getRealDeviceListFailed: 'Get real device list failed!',
deleteRealDeviceFailed: 'Delete real device failed!',
checkTheValidityFirst: 'Please check the validity first!',
permissionAtLeast:'At least one of the number of permissions is more than 0'
};

View File

@ -15,20 +15,21 @@ export default {
returnToExamList: 'Return to the exam list',
totalScore: 'Total score',
itemList: 'Item list',
courseName: 'Course name',
permissionsDetails: 'Permissions for details',
courseName: 'Examination subject',
permissionsDetails: 'Permission details',
buy: 'buy',
distributePermission: 'Permission distribution (examination)',
viewCoursePapers: 'View course papers',
examStartTime: 'Exam start time',
theExamIsReadyAnyTime: 'The exam is ready any time',
testExplanation: 'Test Explanation',
examTimeAvailable: 'Exam time available',
fullMarksInTheExam: 'Full marks in the exam',
passMarkTheExam: 'Pass mark the exam',
examinationRules: 'Examination rules',
examStartTime: 'Start time',
theExamIsReadyAnyTime: 'Anytime you are available',
minutes: 'min',
testExplanation: 'Notes',
examTimeAvailable: 'Duration',
fullMarksInTheExam: 'Full marks',
passMarkTheExam: 'Passing score',
examinationRules: 'Rules',
trainingType: 'Training type',
numberOfQuestions: 'Number of questions',
numberOfQuestions: 'Quantity',
score: 'Score',
startTheExam: 'Start the exam',
examinationTiming: 'Examination timing',
@ -36,5 +37,8 @@ export default {
theBestTimeToCompleteTheQuestion: 'The best time to complete the question',
trainingNotes: 'Training notes',
giveUpTheExam: 'Give up the exam',
nameOfTestPaper: 'Test name'
nameOfTestPaper: 'Test name',
courseDescription: 'Course description',
enterTheExam: 'Enter the exam',
returnCourseList: 'Return course list'
};

View File

@ -5,6 +5,7 @@ export default {
tips: 'Tips',
confirm: 'Confirm',
cancel: 'Cancel',
save: 'save',
reset: 'Reset',
coachingModel: 'Coaching model',
normalMode: 'Normal mode',
@ -39,9 +40,22 @@ export default {
nickName: 'nickname',
mobile: 'mobile',
name: 'Name',
compellation: 'Name',
code: 'Code',
status: 'Status',
status: 'State',
remarks: 'Remarks',
sendCode: 'Send verification code',
verificationCode: 'verification code',
enterEmail: 'Please enter email',
passWord: 'passWord',
newPassWord: 'new password',
enterPassWord: 'Please enter your new password',
enterMobile: 'Please enter your cell phone number',
enterNickname: 'Please enter nickname',
enterName: 'Please enter name',
passWordLength: 'New password length cannot be less than 5 digits',
passWordSome: 'Please fill in the password',
codeFaile: 'Failed to obtain captcha',
selectionTime: 'Selection of time',
permissionNumber: 'Number of permissions',
pleaseInputPermissionNumber: 'Please enter the number of permissions',
@ -56,12 +70,14 @@ export default {
transferScreenPermission: 'Large screen rights transfer',
today: 'Today',
total: 'Total',
index: 'Indexes',
startTime: 'Start time',
endTime: 'End time',
isForever: 'Forever',
remains: 'Remainder',
hasPermissionTip: 'Public permission is {0}, private permission is {1}',
index: 'Index',
startTime: 'Start',
sendMobileCode: 'Send phone code',
enterMobileNumber: 'Please bind mobile phone number',
endTime: 'End',
isForever: 'Timelimit',
remains: 'Remaining',
hasPermissionTip: 'Public permission {0}, Private permission {1}',
create: 'Create',
update: 'Update',
return: 'Return',
@ -80,10 +96,11 @@ export default {
synthesisTrainingTitle: 'Synthesis Training Fast Entrance',
pleaseChooseRoom: 'You did not choose a room',
inviteJoinRoom: 'Invite you to join the synthesis training!',
trainingHasStart: "{name}'s room has begun",
trainingNotStart: "{name}'s room hasn't started yet",
trainingHasStart: "{name}'s room (starting)",
trainingNotStart: "{name}'s room (not starting)",
inputRoomNumber: 'Please enter the room number.',
chooseRoom: 'Choose Room',
codeError: 'The captcha is incorrect',
month: ' month',
indexA: ' piece',
@ -134,7 +151,7 @@ export default {
isTry: 'Try',
buy: 'Buy',
distributePermission: 'Distribute permission',
transferQRCode: 'Transfer QRCode',
transferQRCode: 'Transfer QR Code',
minutes: 'minutes',
minute: 'minute',
totoal: 'Totoal',
@ -158,5 +175,29 @@ export default {
processFailure: 'Process failure',
enterLastStep: 'Please enter a hint and click next',
pleaseOpearte: 'Please proceed',
help: 'help'
help: 'help',
city: 'City',
simulationSystem: 'Simulation System',
lessonSystem: 'Teaching System',
examSystem: 'Examination System',
runPlanSystem: 'The run plan system',
personalDetails: 'information',
trainingPlatformEntrance: 'Training platform entrance',
designPlatformEntrance: 'Design platform entrance',
china: 'China',
australia: 'Australia',
england: 'England',
hongKong: 'Hong Kong',
japanese: 'Japanese',
macao: 'Macao',
singapore: 'Singapore',
taiwan: 'taiwan',
america: 'America',
companyInfo:'Beijing Jiulian Technology Co., Ltd',
companyTel:'Tel: +86 13289398171',
companyICP:'Copyright ©2018 Beijing Jiulian Technology Co., Ltd ICP: 18028522',
enterPermissionNum:'please input number',
enterPermissionNumInt:'number must interger',
perpetual: 'perpetual'
};

View File

@ -24,6 +24,10 @@ import joinTraining from './joinTraining';
import trainRoom from './trainRoom';
import menu from './menu';
import ibp from './ibp';
import approval from './approval';
import systemGenerate from './systemGenerate';
import login from './login';
import designPlatform from './designPlatform';
export default {
...enLocale,
@ -51,5 +55,9 @@ export default {
joinTraining,
trainRoom,
menu,
ibp
ibp,
approval,
systemGenerate,
login,
designPlatform
};

View File

@ -1,5 +1,8 @@
export default {
trainGroupNumber: 'Train group number:',
trainAtoOn: 'Ato:On',
trainAtoOff: 'Ato:Off',
stopTime:'Stop time:',
surveillanceHidden: 'In-vehicle surveillance - hidden',
surveillanceDisplay: 'In-vehicle surveillance - display',
trainInstrumentationDisplay: 'Train instrumentation - display',

View File

@ -56,9 +56,9 @@ export default {
createChapter: 'Create chapter',
contentSorting: 'Content sorting',
courseList: 'Course list',
countSkinCode: 'Duplicate skin cannot be the same type as the copied skin',
countSkinCode: 'Duplicate map cannot be the same type as the copied map',
createNewCoursesFromRelease: 'Create new courses from release',
courseName: 'Course name',
courseName: 'Course name',
parentChapter: 'Parent chapter',
chapterName: 'Chapter name',
chapterInstructions: 'Chapter instructions',
@ -71,7 +71,7 @@ export default {
draftCourseName: 'Draft course name',
associatedSkin: 'Associated skin',
associatedProducts: 'Associated products',
courseDescription: 'Course description',
courseDescription: 'Course description',
editCourse: 'Edit course',
createCourse: 'Create course',
courseRelease: 'Course release',
@ -102,5 +102,24 @@ export default {
train: 'Train',
station: 'Station',
trainWindow: 'Train window',
editStepInfo: 'Edit step information'
editStepInfo: 'Edit step information',
trainingRecord: 'Training recording',
lesson: 'Lesson',
taskManage: 'Task manage',
trainingRule: 'Training rule',
trainingManage: 'Training manage',
newConstruction: 'New',
applicationForRelease: 'Application for release',
rejectReason: 'Reason for rejection',
withdraw: 'Withdraw',
notRelease: 'Not release',
pendingReview: 'Pending review',
published: 'Published',
rejected: 'Rejected',
review: 'Review',
explanation: 'Explanation',
courseDetails: 'Course details',
courseTree: 'Course tree:',
mapName:'Map Name',
copy: 'Copy'
};

View File

@ -0,0 +1,21 @@
export default {
clickRefresh: 'Click the refresh',
scanCodeLogin: 'Please Log in with wechat code',
recommendedConfiguration: 'Recommendation',
browser: 'Browser',
googleChrome: 'Google Browser',
screenResolution: 'Screen resolution:',
welcomeTo: 'Welcome to ',
mobilePhoneNumberOrEmail: 'Mobile phone number/email',
password: 'Password',
autoLogin: 'Auto Login',
perfectInformation: 'Please complete the personal information including user name, password, mobile phone number and email in the wechat applet Lian classroom assistant.',
unableToLogin: 'Unable to login?',
login: 'Login',
enterTheCorrectUserName: 'Please enter the correct user name',
passwordHint: 'Password cannot be less than 5 digits',
accountOrPasswordIsIncorrect: 'The account number or password is incorrect!',
getLoginQrCode: 'Failed to get login qr code, please refresh and try again',
language: 'Language',
clickSwitchLanguage: 'Click switch language'
};

View File

@ -4,13 +4,14 @@ export default {
pleaseSelect: 'please choose',
pleaseEnter: 'please input',
sketchMap: 'Draft map list',
newConstruction: 'create',
newConstruction: 'Create',
importMap: 'Import the map',
createNewMap: 'A new map',
normalCreate: 'The normal to create',
saveMapAs: 'Save the map as',
create: 'establish',
dataVerification: 'data verification',
edit3d: '3D editor',
logicalView: 'logical view',
physicalView: 'Physical view',
mixedView: 'The mixed view',
@ -108,6 +109,8 @@ export default {
publishMapCreation: 'Create from the publish map',
failedLoadListPublishedMaps: 'Failed to load the list of published maps',
publishedMapList: 'Published Map List',
myMapList: 'My Map List',
creatingSuccessful: 'Created successfully!',
mapUpdateSuccessful: 'Map update successful!',
createFailure: 'Create a failure',
@ -373,6 +376,7 @@ export default {
pointSystem2: 'TwoPointSystem',
pointSystem5: 'FivePointSystem',
skinType: 'SkinType',
lineCode:'Line Type',
turnoverTime: 'TurnoverTime',
productList: 'ProductList',
belongsToMapName: 'BelongsToMapName',
@ -541,5 +545,6 @@ export default {
horizontal: 'Horizontal',
vertical: 'Vertical',
piece: 'piece'
piece: 'piece',
setStationCode: 'Batch set up centralized station'
};

View File

@ -8,15 +8,15 @@ export default {
setNameDisplay: 'Set Name Display',
setDeviceDisplay: 'Set Device Display',
stationMapSwitch: 'StationMapSwitch',
controlModeSwitch: 'ControlModeSwitch',
toStationControl: 'Switch Station Control',
forcedStationControl: 'Forced Station Control',
toCentralControl: 'Switch Central Control',
controlModeSwitch: 'ControlModeConversion',
toStationControl: 'Switch to Station Control',
forcedStationControl: 'Force to Station Control',
toCentralControl: 'Switch to Central Control',
requestOperationArea: 'RequestOperationArea',
historyQuery: 'HistoryQuery',
userManage: 'UserManage',
historyQuery: 'History',
userManage: 'Users',
help: 'Help',
about: 'ControlMonitor(A)',
about: 'About ControlMonitor(A)',
planCarOperation: 'PlanCarOperation',
addPlanCar: 'Add Plan Car',
panPlanCar: 'Pan Plan Car',
@ -32,14 +32,14 @@ export default {
back: 'Back'
},
menuSection: {
sectionFaultUnlock: 'Section Fault Unlock',
sectionResection: 'Section Resection',
sectionActive: 'Section Active',
sectionAxisPreReset: 'Section Axis PreReset',
sectionBlockade: 'Section Blockade',
sectionUnblock: 'Section Unblock',
sectionSetSpeedLimit: 'Section Set Speed Limit',
sectionCancelSpeedLimit: 'Section Cancel Speed Limit',
sectionFaultUnlock: 'Section fault unlocking',
sectionResection: 'Section resection',
sectionActive: 'Section activation',
sectionAxisPreReset: 'Axis pre-reset',
sectionBlockade: 'Section blockade',
sectionUnblock: 'Section unblockade',
sectionSetSpeedLimit: 'Set speed limit on the section',
sectionCancelSpeedLimit: 'Cancel speed limit on the section',
axisPreReset: 'Axis PreReset',
createTrain: 'Create Train',
setFault: 'Set Fault',
@ -48,21 +48,21 @@ export default {
orbitalSectionResection: 'Orbital section resection'
},
menuSignal: {
routeSelect: 'Route Select',
routeCancel: 'Route Cancel',
signalBlock: 'Signal Block',
signalDeblock: 'Signal Deblock',
signalReopen: 'Signal Reopen',
guideRouteHandle: 'Guide Route Handle',
setInterlockAutoRoute: 'Set Interlock Auto Route',
cancelInterlockAutoRoute: 'Cancel Interlock Auto Route',
setInterlockAutoTrigger: 'Set Interlock Auto Trigger',
cancelInterlockAutoTrigger: 'Cancel Interlock Auto Trigger',
routeSelect: 'Route selection',
routeCancel: 'Cancel the route',
signalBlock: 'Signal closure',
signalDeblock: 'Signal unsealing',
signalReopen: 'Signal reopen',
guideRouteHandle: 'Guide Route handling',
setInterlockAutoRoute: 'Set Interlock for Auto Routing',
cancelInterlockAutoRoute: 'Cancel Interlock setting for Auto Routing',
setInterlockAutoTrigger: 'Set Interlock for Auto Trigger',
cancelInterlockAutoTrigger: 'Cancel Interlock setting for Auto Trigger',
signalOff: 'Signal Off',
routeGuide: 'Route Guide',
humanControl: 'Human Control',
atsAutoControl: 'ATS Auto Control',
queryRouteControlMode: 'Query Route Control Mode',
humanControl: 'Close automatic routing',
atsAutoControl: 'Start automatic routing',
queryRouteControlMode: 'Route control status query',
setFault: 'Set Fault',
cancelFault: 'Cancel Fault',
cancelTheTrainApproach: 'Cancel the train approach',
@ -83,39 +83,39 @@ export default {
},
menuStationStand: {
detainTrain: 'Detain Train',
cancelDetainTrain: 'Cancel Detain Train',
cancelDetainTrainForce: 'Cancel Detain Train Force',
jumpStop: 'Jump Stop',
cancelJumpStop: 'Cancel Jump Stop',
setRunLevel: 'Set Run Level',
setEarlyDeparture: 'Set Early Departure',
setBackStrategy: 'Set Back Strategy',
getStationStandStatus: 'Get Station Stand Status',
setStopTime: 'Set Stop Time',
cancelDetainTrain: 'Cancel Detaining',
cancelDetainTrainForce: 'Force Canceling Detaining',
jumpStop: 'Skip this station to continue moving',
cancelJumpStop: 'Cancel skiping',
setRunLevel: 'Set Operation speed Level',
setEarlyDeparture: 'Set departure in advance',
setBackStrategy: 'Manual return strategy setting',
getStationStandStatus: 'Query Platform status',
setStopTime: 'Set the stop time',
setFault: 'Set Fault',
cancelFault: 'Cancel Fault',
cancelDetainTrainAll: 'All Cancel Detain Train',
cancelDetainTrainAll: 'Cancel train detaining along the whole line',
cancelJumpStopAll: 'All Cancel Jump Stop',
earlyDeparture: 'Early departure',
setJumpStop: 'Set jump stop'
},
menuSwitch: {
switchLock: 'Switch Lock',
switchUnlock: 'Switch Unlock',
switchSectionBlockade: 'Switch Section Blockade',
switchSectionUnblock: 'Switch Section Unblock',
switchTurnout: 'Switch Turnout',
switchSectionFaultUnlock: 'Switch Section Fault Unlock',
switchSectionAxisPreReset: 'Switch Section Axis Pre Reset',
sectionResection: 'Section Resection',
sectionActive: 'Section Active',
switchSectionSetSpeedLimit: 'Switch Section Set Speed Limit',
switchSectionCancelSpeedLimit: 'Switch Section Cancel Speed Limit',
switchLock: 'Single lock of turnout',
switchUnlock: 'Single release of turnout',
switchSectionBlockade: 'Turnout section closure',
switchSectionUnblock: 'Turnout section unsealing',
switchTurnout: 'Switch rotation',
switchSectionFaultUnlock: 'Turnout section fault unlocking',
switchSectionAxisPreReset: 'Turnout section axile pre reset',
sectionResection: 'Section resection',
sectionActive: 'Section activation',
switchSectionSetSpeedLimit: 'Set speed limit on the turnout section',
switchSectionCancelSpeedLimit: 'Cancel speed limit on the turnout section',
setFault: 'Set Fault',
cancelFault: 'Cancel Fault',
switchMalfunctionUnlock: 'Switch Malfunction Unlock',
switchBlockade: 'Switch Blockade',
switchForcedPull: 'Switch Forced Pull'
switchMalfunctionUnlock: 'Turnout failure unlocking',
switchBlockade: 'turnout Blockade',
switchForcedPull: 'Forced turnout'
},
menuTrain: {
addTrainId: 'Add Train Identifier',
@ -184,8 +184,8 @@ export default {
confirm: 'Confirm',
close: 'Close',
jobNumber: 'JobNumber:',
userName: 'User Name:',
jobNumber: 'Staff ID:',
userName: 'Name:',
password: 'Password:',
confirmPassword: 'Confirm Password:',
inputJobNumber: 'Please enter job number',
@ -220,14 +220,14 @@ export default {
about: 'About ControlMonitor',
userList: 'User List',
jobNumber: 'JobNumber',
userName: 'UserName',
jobNumber: 'Staff ID',
userName: 'Name',
refresh: 'Refresh',
add: 'Add',
modify: 'Modify',
delete: 'Delete',
cancel: 'Cancel',
userManage: 'User Manage',
userManage: 'Users',
selectUser: 'Please select a user first',
deleteMessageOne: 'Are you sure to delete user',
deleteMessageTwo: '?',
@ -248,9 +248,9 @@ export default {
controlMode: 'Control Mode',
centerStationCommunicationStatus: 'Center-Station Communication Status',
transferExecutionStatus: 'Transfer Execution Status',
forcedStationControl: 'Forced Station Control',
requestStationControl: 'Request Station Control',
requestInTheControl: 'Request Central Control',
forcedStationControl: 'Force to Station Control',
requestStationControl: 'Request to Station Control',
requestInTheControl: 'Request to Central Control',
close: 'Close',
inTheControl: 'Central Control',
stationControl: 'Station Control',
@ -301,9 +301,9 @@ export default {
trainIDDisplaySetting: 'Train ID Display Setting',
plantrainDisplayMode: 'Plan train Display Mode',
serviceNumber: 'Service Number',
tripNumber: 'Train Number',
groupNumber: 'Group Number',
serviceNumber: 'Table No. ',
tripNumber: 'Train Trip No.',
groupNumber: 'Train No.',
targetNumber: 'Target Number',
headCodeStationDisplayMode: 'Head Code Train Display Mode',
fontSize: 'Font Size',
@ -317,8 +317,8 @@ export default {
stopTime: 'Stop time',
departureTime: 'Departure time',
runLevel: 'Run level',
serviceNumber: 'Service number',
tripNumber: 'Trip number',
serviceNumber: 'Table No.',
tripNumber: 'Train Trip No.',
stationName: 'Station name:',
stationKilometerMark: 'Station kilometer mark:',
arrivalTime2: 'Arrival time:',
@ -401,12 +401,12 @@ export default {
implementationProcess: 'Implementation process',
executionResult: 'The execution result',
release: 'Release',
firstConfirm: 'First confirm',
secondConfirm: 'Second confirm',
firstConfirm: 'confirm1',
secondConfirm: 'confirm2',
suspend: 'Suspend',
clickReleaseCommand: 'Click release command',
clickFirstConfirm: 'Click to first confirm',
clickSecondConfirm: 'Click to second confirm',
clickFirstConfirm: 'Click to confirm1',
clickSecondConfirm: 'Click to confirm2',
clickSuspend: 'Click to suspend',
signal: 'signal',
startSignal: 'Start signal',
@ -479,7 +479,7 @@ export default {
switch: 'Switch',
activation: 'Activation',
resection: 'Resection',
groupNumber: 'Group number',
groupNumber: 'Train No.',
planTrain: 'Plan train',
headCodeTrain: 'Head code train',
artificialTrain: 'Artificial train',
@ -491,5 +491,7 @@ export default {
settingTrain: 'Setting train',
sourceTrainWindow: 'Source train window',
trainWindow: 'Train window',
targetTrainWindow: 'Target train window'
targetTrainWindow: 'Target train window',
category: 'category',
lineCode:'Line Type'
};

View File

@ -49,7 +49,7 @@ export default {
permissionPack: 'Permission pack',
privilegeTransferQRCode: 'Privilege transfer QRCode',
generatingQRCode: 'Generating QRCode',
transferQRCode: 'Transfer QRCode',
transferQRCode: 'Transfer QR Code',
today: 'Today',
yesterday: 'Yesterday',
addOrder: 'AddOrder',

View File

@ -31,5 +31,10 @@ export default {
private: 'Private',
public: 'Public',
userName: 'User Name',
statusType: 'Status Type'
statusType: 'Status Type',
isPackage:'Package',
numOfDistribute:'Num of distribute',
numOfTransfer:'Num of transfer',
transferTips:'You can receive multiple permissions at a time, and the permissions you receive can continue to be transferred.',
distributeTips:'Only one permission can be obtained at a time. The permission received is a dedicated permission and cannot be redistributed.'
};

View File

@ -1,16 +1,16 @@
export default {
updateStation: {
level1: 'level one: ',
level2: 'level two: ',
level3: 'level three: ',
level4: 'level four: ',
level5: 'level five: ',
level1: 'level1: ',
level2: 'level2: ',
level3: 'level3: ',
level4: 'level4: ',
level5: 'level5: ',
updateData: 'Update data',
pleaseInputLevel1: 'Please input level one',
pleaseInputLevel2: 'Please input level two',
pleaseInputLevel3: 'Please input level three',
pleaseInputLevel4: 'Please input level four',
pleaseInputLevel5: 'Please input level five',
pleaseInputLevel1: 'Please input level1',
pleaseInputLevel2: 'Please input level2',
pleaseInputLevel3: 'Please input level3',
pleaseInputLevel4: 'Please input level4',
pleaseInputLevel5: 'Please input level5',
systemOutPut: 'System output',
selectPrintArea: 'Selec print area',
selectDeleteRoute: 'Select delete route',
@ -228,6 +228,13 @@ export default {
endTime: 'End time',
editPlanningTrain: 'Edit planning train',
runGraphName: 'Run graph name',
tipOperationTime: '请先设置区段站间运行时间, 【文件】-> 【修改站间运行时间】',
serverTrainNum: '表号车次号'
tipOperationTime: 'Please set the running time between the stations, [File] -> [Modify the running time between stations]',
serverTrainNum: ' service trip Number',
explanation: 'Explanation',
creationDate: 'Creation date',
load: 'Load',
modifyName: 'Modify name',
applyRelease:'Apply for release',
preview:'Preview',
revoke:'Revoke'
};

View File

@ -4,6 +4,8 @@ export default {
mapName: 'Map Name',
lessonName: 'Lesson Name',
updateMapName: 'Update Map Name',
updateCityName: 'Update City',
updateLesson: 'Modify Lesson',
updateTime: 'Update Time',
operationSuccess: 'Operate successfully',
deleteSuccess: 'Delete successfully',
@ -27,7 +29,7 @@ export default {
createTime: 'Creation Time',
detail: 'Detail',
generateRunPlan: 'Generate Daily Plan',
generateRunjihua: 'Generate general shift schedule',
generateRunjihua: 'Generate General Shift Schedule',
selectTemplateRunPlan: 'Select Template Run Plan',
pleaseSelectTemplate: 'Please Select Template Run Plan',
selectMap: 'Select Map',
@ -55,6 +57,7 @@ export default {
publishVersion: 'Version',
lessonDeleteBtn: 'Delete',
durationMinutes: ' minutes',
copyRunPlan: 'Copy run plan',
testDefinitionMaking: 'Test Definition Making',
examRuleMaking: 'Exam Rule Making',
@ -109,5 +112,15 @@ export default {
inputScorePerQuestion: 'Please input score per question',
selectTestType: 'Please select test type',
modifyRules: 'Modify Rules',
enterRunPlanName: 'Please enter the name of the diagram'
enterRunPlanName: 'Please enter the name of the diagram',
setTheProject: 'Set the project',
whetherItBelongsToTheProject: 'Whether it belongs to the project',
belongsProject: 'Belongs project',
theBelongsProjectCannotBeEmpty: 'The belongs project cannot be empty',
pleaseSelectTheBelongsProject: 'Please select the belongs project',
copyMapAs: 'Copy map as',
whetherToCopyData: 'Whether to copy data',
copy:'Copy',
lineType:'Line Type',
belongsToMap: 'Belongs to map'
};

View File

@ -7,6 +7,9 @@ export default {
runPlanManage: 'Run plan',
productEdit: 'Product editor',
designhomePage: 'Public map',
designUserPage: 'Personal map',
lessaonManage: 'Lesson',
lessonEdit: 'Lesson editor',
trainingRecord: 'Trainning recording',
@ -58,5 +61,12 @@ export default {
userExamManage: 'User examination management',
userSimulationManage: 'User simulation management',
existingSimulation: 'Existence simulation management',
ibpDraw: 'ibp Draw'
ibpDraw: 'Ibp Draw',
trainingPlatform: 'trainingPlatform',
releaseApplication: 'Release application',
courseApplication: 'Course release application',
scriptReleaseApplication: 'Script release application',
runGraphReleaseApplication: 'Run graph release application',
subsystemGeneration: 'Subsystem generation',
newsBulletin: 'New bulletin'
};

View File

@ -12,6 +12,7 @@ export default {
pleaseSelectLine: 'Please select a Line',
pleaseSelectLineType: 'Select type Line',
pleaseSelectLineWidth: 'Please enter line width',
pleaseSelectCity: 'Please select city',
linkXCoordinate: 'Please enter the Link x coordinate',
linkYCoordinate: 'Please enter the Link y coordinate',
@ -35,6 +36,8 @@ export default {
sectionRelSwitchCode: 'sectionRelSwitchCode',
pleaseSelectSectionName: 'Select the section name',
pleaseSelectSection: 'Select the section',
pleaseSelectStationCode: 'Select the section station code',
pleaseFillOffset: 'Please fill in the offset',
pleaseFillValue: 'Please fill in the value',
pleaseSelectLeftSectionName: 'Please select the left section name',
@ -142,6 +145,7 @@ export default {
switchesCannot: 'Switches cannot be identical',
pleaseInputName: 'Please enter name',
pleaseInputNickName: 'Please enter nickName',
pleaseSelectStatus: 'Please select state',
pleaseInputCode: 'Please enter code',
strLength1To25: 'The length is between 1 and 25 characters',
@ -230,6 +234,7 @@ export default {
enterCourseName: 'Please enter the course name',
selectAssociatedProduct: 'Please select the associated product',
enterCourseDescription: 'Please enter the course description',
pleaseLessonIntroduction: 'Please enter the course description',
courseIdIsEmpty: 'Course Id is empty',
selectCity: 'Please select city',
enterStandardTime: 'Please enter standard time',
@ -239,9 +244,9 @@ export default {
selectOneTrainingType: 'Only one training type can be selected',
enterProductType: 'Please enter product type',
selectAssociatedStation: 'Please select the associated station',
pleaseSelectTrainDir: '请选择列车所在方向',
pleaseEnterSplit: '请输入拆分数量',
pleaseEnterSplitNumber: '请输入合理的拆分数量',
pleaseSelectTrainDir: 'Please select the direction of the train',
pleaseEnterSplit: 'Please enter the split number',
pleaseEnterSplitNumber: 'Please enter a reasonable number of split',
enterScale: 'Please enter the zoom ratio',
enterXOffset: 'Please enter X offset',
enterYOffset: 'Please enter Y offset',
@ -276,7 +281,7 @@ export default {
accessNumber: 'Please input the number of permissions',
courseNameEmpty: 'Course name cannot be empty',
purchaseMonth: 'Please input the number of months to buy',
pleaseEnterGoodPrice: '请输入商品价格',
pleaseEnterGoodPrice: 'Please enter the price of the goods',
enterTheNameOfTheRunGraph: 'Please enter the name of the run graph',
chooseToPublishTheRunGraph: 'Please choose to publish the run chart',
enterTheAlarmCode: 'Please enter the alarm code',
@ -306,5 +311,9 @@ export default {
enterTheKeyWidth: 'Please enter the key width',
enterTheKeyDirection: 'Please select the key direction',
enterTheUpperText: 'Please enter the upper text',
enterTheLowerText: 'Please enter the lower text'
enterTheLowerText: 'Please enter the lower text',
enterRejectReason: 'Please enter reject reason',
enterTheNewsTitle: 'Please enter news title',
enterTheNewsContent: 'Please enter news content',
chooseNewsCanBeClosed: 'Please select the news can be closed'
};

View File

@ -4,6 +4,7 @@ export default {
saveData: 'Save Data',
mapList: 'Map List',
createScript: 'Create Script',
modifyScript: 'Modify Script',
scriptName: 'Script Name',
addScript: 'Add Script',
map: 'Map',
@ -14,7 +15,8 @@ export default {
createScriptSuccess: 'Create script success',
createScriptFail: 'Create script failure',
scriptDetail: 'Script Detail',
scriptRecord: 'Record',
scriptRecord: 'Edit',
scriptCreate: 'Create',
scriptModify: 'Modify',
scriptDelete: 'Delete',
getScriptFail: 'Get script information failure',
@ -40,7 +42,7 @@ export default {
resetDataFail: 'Reset script failure',
allRoles: 'All Roles',
actors: 'Actors',
actors: 'Actor Role',
roleSexMale: 'Male',
roleSexFemale: 'Female',
selectScriptActorSuccess: 'Select script actor success',
@ -50,9 +52,9 @@ export default {
modifyScriptActorSexSuccess: 'Modify script actor sex success',
modifyScriptActorSexFail: 'Modify script actor sex failure',
addConversition: 'Add Conversition',
narrator: 'Narrator',
narratorRules: 'Please select narrator',
addConversition: 'Add Dialogue',
narrator: 'Sender',
narratorRules: 'Please select Sender',
receiver: 'Receiver',
receiverRules: 'Please select receiver',
conversitionContent: 'Content',
@ -65,14 +67,20 @@ export default {
startStationRules: 'Please select start station ',
endStation: 'End Station',
endStationRules: 'Please select end station',
drivingMode:'Driving Mode',
drivingModeRules:'Please select driving mode',
speed:'Speed',
signal:'Signal',
speedRules:'Please input speed',
signalRules:'Please select signal',
addCommandButton: 'Add Command',
addConversitionButton: 'Add Conversition',
addConversitionButton: 'Add Dialogue',
conversitionContentRules: 'Please input content',
addCommandSucess: 'Add command sucess',
addCommandFail: 'Add command failure',
addConversitionSuccess: 'Add conversition success',
addConversitionFail: 'Add conversition failure',
addConversitionSuccess: 'Add dialogue success',
addConversitionFail: 'Add dialogue failure',
modifyConversitionSuccess: 'Modify conversition success',
modifyConversitionFail: 'Modify conversition failure',
modifyConversition: 'Modify Conversition',
@ -81,7 +89,25 @@ export default {
scriptBack: 'Back',
speakTo: 'to',
executeCommandTips: 'execute command: ',
operate: 'Operate',
scriptList: 'Script List',
applyPublish: 'Apply for release',
preview: 'Preview',
status: 'Status',
applyRevoke: 'Revoke',
publish: 'Publish',
revokeReason: 'Revoke explanation',
language: 'language',
chinese: 'Chinese Simplified',
english: 'English'
english: 'English',
publishScript: 'Publish Script',
releaseScriptSuccess: 'release script success',
releaseScriptFailed: 'release script failed',
publishScriptSuccess: 'Publish Script Success',
publishScriptFailed: 'Publish Script Failed',
releaseScriptTip: 'This action will apply to release script, whether to continue?',
revokeScriptTip: 'This action will undo release script, whether to continue?',
inputScriptName: 'Please input script name',
selectMap: 'Please select map',
inputScriptDescription: 'Please input script description'
};

View File

@ -48,5 +48,10 @@ export default {
editTrainingDetail: 'Editor Training Details',
trainingTime: 'Training duration',
subscribeToTheMapList: 'Subscribe to the map list:',
editSimulationDetails: 'Edit simulation details'
editSimulationDetails: 'Edit simulation details',
newsBulletin: 'News bulletin:',
newsHeadlines: 'News headlines:',
newsContent: 'News content:',
whetherTheNewsCanBeClosed: 'Whether the news can be closed:',
push: 'Push'
};

View File

@ -0,0 +1,30 @@
export default {
map: 'Map',
mapName: 'Map Name',
prdName: 'Product Name',
name: 'Name',
type: 'Type',
updateData: 'Modify',
generate: 'Generate',
selectMap: 'Please select map',
generateSuccess: 'The subsystem under the map is generated successfully!',
generateFail: 'The subsystem under the map failed to generate!',
inputName: 'Please input subsystem name',
selectType: 'Please select type',
selectPrdName: 'Please select product name',
createSubSystem: 'Commission SubSystem',
modifySubSystem: 'Modify SubSystem',
commission: 'Commission',
customized: 'Project',
selectProject: 'Please select project',
createMapSystemSuccess: 'Create map system success',
createMapSystemFail: 'Create map system failed',
getSubSystemInfoFail: 'Get subsystem infomation failed',
updateMapSystemSuccess: 'Update map system success',
updateMapSystemFail: 'Update map system failed',
generation: 'One-click Generation',
deleteData: 'Delete',
deleteMapSystemSuccess: 'Delete map system success',
deleteMapSystemFail: 'Delete map system fail',
deleteMapSystemTip: 'This action will apply to delete map system, whether to continue?'
};

View File

@ -16,5 +16,7 @@ export default {
permissionDistribute: 'Permission distribution (class)',
authorityTransferred: 'Authority transferred',
courseList: 'Course list',
seconds: 'seconds'
seconds: 'seconds',
enterTheCourse: 'Enter the course',
returnCourseList: 'Return course list'
};

View File

@ -158,11 +158,11 @@ export default {
deleteTheRunningGraphLoadedTheNextDay: 'This operation will delete the running graph loaded the next day, will it continue?',
commandFailed: 'Command failed',
releaseTip: 'Please click the "release" button to issue the order!',
firstConfirmTip: 'Please click the "First confirm" button to confirm the order!',
firstConfirmTip: 'Please click the "confirm1" button to confirm the order!',
executionSucceed: 'Execution succeed',
executionFailed: 'Execution failed',
executionException: 'Execution exception',
secondConfirmTip: 'Please click the "Second confirm" button to confirm the order!',
secondConfirmTip: 'Please click the "confirm2" button to confirm the order!',
confirmedSuccess: 'Confirmed success',
cancelSuccess: 'Cancel success',
signalModeToManualModeTipPrefix: 'Cancel the approach starting with the signal',
@ -198,5 +198,28 @@ export default {
runGraphNameModifiedSuccessfully: 'Run graph name modified successfully!',
modifyRunGraphNameFailed: 'Modify run graph name failed!',
planCreationSuccessful: 'Plan creation successful!',
createPlanFailed: 'Failed to create plan!'
createPlanFailed: 'Failed to create plan!',
cancelCoursePublicationHint: 'This action will cancel the course publication application, is it OK?',
cancelTheSuccessfulApplicationOfTheCourseRelease: 'Cancel the successful application of the course release!',
cancellationOfCoursePublicationApplicationFailed: 'Cancellation of course publication application failed!',
publishTheCourseHint: 'This operation will publish the course. Are you sure?',
rejectedCourseReleaseApplicationSuccessful: 'Rejected course release application successful!',
rejectedCourseReleaseApplicationFailed: 'Rejected course release application failed!',
duplicatePlanFailedTips: 'The interval needs to be more than 30 seconds or the times is more than 1',
createSwitchPortion: 'The relevant turnout is not formed',
publishRunPlanTips:'This action will publish run plan, whether to continue?',
applyRunPlanTips:'This action will initiate a run plan release requestwhether to continue?',
publishRunPlanSuccess:'Publish run plan success!',
publishRunPlanFail:'Publish run plan fail!',
applyRunPlanSuccess:'Submit run plan to publish success!',
applyRunPlanFail:'Submit run plan to publish fail!',
cancelRunPlanTips:'This action will revoke the run plan request, whether to continue?',
cancelRunPlanSuccess:'Revoke run plan success!',
cancelRunPlanFail:'Revoke run plan fail!',
setProjectSuccess: 'Set belongs project success!',
setProjectFail: 'Set belongs project fail!',
copyMapSuccess: 'Copy map success!',
copyMapFail: 'Copy map fail!',
pushNewsSuccess: 'Push news success!',
pushNewsFailed: 'Push news failed!'
};

View File

@ -25,5 +25,13 @@ export default {
sending: 'sending...',
holdAndTalk: 'Hold and talk',
recording: 'recording...',
sendText: 'Send text'
sendText: 'Send text',
left: 'left',
right: 'right',
realDevice: 'Real device',
plcGatewayOnline: '[PLC gateway online]',
plcGatewayOffline: '[PLC gateway offline]',
uplinkPlatform: 'Uplink platform',
downlinkPlatform: 'Downlink platform',
ibp:'IBP'
};

View File

@ -0,0 +1,43 @@
export default {
applicant: '申请人',
map: '地图',
status: '状态',
unpublished: '未发布',
pendingReview: '待审核',
releaseSuccess: '发布成功',
overrule: '驳回',
scriptName: '剧本名称',
scriptDescription: '剧本简介',
applyTime: '申请时间',
applyPassed: '通过',
applyReject: '驳回',
scriptPreview: '预览',
passedScript: '通过剧本',
rejectScript: '驳回剧本',
explanation: '驳回说明',
inputScriptName: '请输入剧本名称',
inputRejectExplanation: '请输入驳回说明',
passedScriptSuccess: '通过剧本成功',
passedScriptFailed: '通过剧本失败',
rejectScriptSuccess: '驳回剧本成功',
rejectScriptFailed: '驳回剧本失败',
passedRunPlanSuccess: '通过剧本成功',
passedRunPlanFailed: '通过剧本失败',
rejectRunPlanSuccess: '驳回剧本成功',
rejectRunPlanFailed: '驳回剧本失败',
runPlanName: '运行图名称',
passedRunPlan: '通过运行图',
rejectRunPlan: '驳回运行图',
runPlanPreview: '预览',
inputRunPlanName: '请输入运行图名称',
courseDescription: '课程说明',
lookOver: '查看',
courseDetails: '课程详情',
instructions: '说明',
chapterTrainingName: '章节/课程名称',
revokeScriptSuccess: '撤回成功',
revokeScriptFailed: '撤回失败',
skin: '皮肤'
};

View File

@ -0,0 +1,7 @@
export default {
mapPreview: '地图预览',
mapDesign: '地图设计',
runPlanDesign: '运行图设计',
lessonDesign: '课程设计',
scriptDesign: '剧本设计'
};

View File

@ -79,6 +79,7 @@ export default {
schema: {
selectProduct: '请选择产品类型',
loadScript: '加载剧本',
selectRoles: '选择角色',
previewRunDiagram: '运行图预览',
loadRunDiagram: '运行图加载',
faultSetting: '故障设置',
@ -123,6 +124,7 @@ export default {
dispatcher: '行调',
attendant: '车站',
audience: '观众',
repair: '通号',
driver: '列车',
none: '无'
},

View File

@ -10,6 +10,7 @@ export default {
deleteFailed: '删除失败',
exportFailed: '导出执行异常',
getListFailed: '获取列表数据失败',
getPermissionListFailed: '获取权限列表数据失败',
getDistributeQrcodeFailed: '获取权限分发二维码失败',
obtainMaxNumberFailed: '获取用户最大权限个数失败',
getTransferQrcodeFailed: '获取权限转赠二维码失败',
@ -54,6 +55,7 @@ export default {
paperHasUseNotDel: '该试卷已被使用,不能删除',
batchCreateFailed: '批量生成操作定义失败',
createOperateRuleFailed: '创建操作定义失败',
updateOperateRuleFailed:'更新操作定义失败',
createOperateStepFailed: '创建操作步骤失败',
updateOperateStepFailed: '更新操作步骤失败',
packagePermissionFailed: '打包权限失败',
@ -91,5 +93,16 @@ export default {
getRunGraphDataFailed: '获取运行图数据失败',
getStationListFail: '获取车站列表失败',
obtainTrainGroupNumberFailed: '获取列车车组号失败',
getTrainListFailed: '获取列车列表失败'
getTrainListFailed: '获取列车列表失败',
getDraftCourseDataFailed: '获取草稿课程数据失败!',
failedToGetCourseData: '获取课程数据失败!',
failedToGetSystemData: '获取系统数据失败!',
inquiryPLCDeviceFailed: '查询PLC设备失败',
getScreenDoorsListFailed: '获取屏蔽门列表失败!',
theDeviceTypeAlreadyExists: '已存在该设备类型!',
connectToRealDeviceFailed: '关联真实设备失败!',
getRealDeviceListFailed: '获取真实设备列表失败!',
deleteRealDeviceFailed: '删除真实设备失败!',
checkTheValidityFirst: '请先进行有效性检查!',
permissionAtLeast:'至少有一种权限的数量大于0'
};

View File

@ -22,6 +22,7 @@ export default {
viewCoursePapers: '查看课程试卷',
nameOfTestPaper: '试卷名称',
examStartTime: '考试时间',
minutes: '分钟',
theExamIsReadyAnyTime: '随时都可以考试',
testExplanation: '考试说明',
examTimeAvailable: '考试时长',
@ -36,5 +37,8 @@ export default {
maximumTimeToCompleteThisQuestion: '完成本题最大用时',
theBestTimeToCompleteTheQuestion: '完成本题最佳用时',
trainingNotes: '实训说明',
giveUpTheExam: '放弃考试'
giveUpTheExam: '放弃考试',
courseDescription: '课程说明',
enterTheExam: '进入考试',
returnCourseList: '返回课程列表'
};

View File

@ -6,6 +6,7 @@ export default {
reset: '重 置',
confirm: '确 定',
cancel: '取 消',
save: '保 存',
coachingModel: '教练模式',
normalMode: '正常模式',
operate: '操 作',
@ -39,9 +40,25 @@ export default {
nickName: '昵称',
mobile: '手机号',
name: '名称',
compellation: '姓名',
code: '编码',
status: '状态',
remarks: '说明',
sendCode: '发送验证码',
verificationCode: '验证码',
enterEmail: '请输入邮箱',
passWord: '密码',
newPassWord: '新密码',
enterPassWord: '请输入新密码',
enterMobile: '请输入手机号',
enterMobileNumber: '请绑定手机号',
enterNickname: '请输入昵称',
enterName: '请输入名称',
passWordLength: '新密码长度不能低于5位',
passWordSome: '请填写密码',
codeFaile: '获取验证码失败',
codeError: '验证码不正确',
sendMobileCode: '发送手机验证码',
selectionTime: '选择时间',
permissionNumber: '权限个数',
pleaseInputPermissionNumber: '请输入权限个数',
@ -56,7 +73,7 @@ export default {
transferScreenPermission: '大屏权限转赠',
today: '今天',
total: '合计',
index: '索引',
index: '序号',
startTime: '开始时间',
endTime: '结束时间',
isForever: '是否永久',
@ -80,8 +97,8 @@ export default {
synthesisTrainingTitle: '综合演练快速入口',
pleaseChooseRoom: '您没有选择房间',
inviteJoinRoom: '邀请你加入综合演练!',
trainingHasStart: '{name}的房间已开始',
trainingNotStart: '{name}的房间未开始',
trainingHasStart: '{name}的房间已开始',
trainingNotStart: '{name}的房间未开始',
inputRoomNumber: '请输入房间号',
chooseRoom: '选择房间',
month: '月',
@ -158,6 +175,29 @@ export default {
processFailure: '处理失败',
enterLastStep: '请输入提示并点击下一步',
pleaseOpearte: '请开始操作',
help: '帮助'
help: '帮助',
city: '城市',
simulationSystem: '仿真系统',
lessonSystem: '教学系统',
examSystem: '考试系统',
runPlanSystem: '运行图系统',
personalDetails: '个人信息',
trainingPlatformEntrance: '实训平台入口',
designPlatformEntrance: '设计平台入口',
china: '中国',
australia: '澳大利亚',
england: '英国',
hongKong: '香港',
Japanese: '日本',
macao: '澳门',
singapore: '新加坡',
taiwan: '台湾',
america: '美国',
companyInfo:'北京玖琏科技有限公司',
companyTel:'联系电话: 13289398171',
companyICP:'Copyright ©2018 北京玖琏科技有限公司 京ICP备18028522号',
enterPermissionNum:'请输入权限数量',
enterPermissionNumInt:'权限数量需为整数',
perpetual: '永久'
};

View File

@ -24,6 +24,10 @@ import joinTraining from './joinTraining';
import trainRoom from './trainRoom';
import menu from './menu';
import ibp from './ibp';
import approval from './approval';
import systemGenerate from './systemGenerate';
import login from './login';
import designPlatform from './designPlatform';
export default {
...cnLocale,
@ -51,5 +55,9 @@ export default {
joinTraining,
trainRoom,
menu,
ibp
ibp,
approval,
systemGenerate,
login,
designPlatform
};

View File

@ -1,5 +1,8 @@
export default {
trainGroupNumber: '车组号:',
trainAtoOn: '列车自动驾驶中',
trainAtoOff: '列车人工驾驶中',
stopTime:'停站时间:',
surveillanceHidden: '车内监控——隐藏',
surveillanceDisplay: '车内监控——显示',
trainInstrumentationDisplay: '列车仪表——显示',

View File

@ -43,7 +43,7 @@ export default {
wellClearOperate: '此操作将清空改皮肤下所有操作定义, 是否继续?',
batchCreateSuccess: '批量生成操作定义成功',
createOperateSuccess: '创建操作定义成功',
updateOperateSuccess: '更新操作步骤成功',
updateOperateSuccess: '更新操作定义成功',
wellDelOperate: '此操作将删除此实训步骤, 是否继续?',
operateCode: '操作码',
stepReturn: '步骤返回值',
@ -57,7 +57,7 @@ export default {
contentSorting: '内容排序',
courseList: '课程列表',
createNewCoursesFromRelease: '从发布课程新建',
courseName: '课程名称:',
courseName: '课程名称',
parentChapter: '父级章节:',
chapterName: '章节名称:',
chapterInstructions: '章节说明:',
@ -70,7 +70,7 @@ export default {
draftCourseName: '草稿课程名称:',
associatedSkin: '关联皮肤:',
associatedProducts: '关联产品:',
courseDescription: '课程说明',
courseDescription: '课程说明',
editCourse: '编辑课程',
createCourse: '创建课程',
courseRelease: '课程发布',
@ -101,6 +101,25 @@ export default {
train: '列车',
station: '车站',
trainWindow: '车次窗',
countSkinCode: '复制皮肤与被复制皮肤类型不能一样'
countSkinCode: '复制地图与被复制地图类型不能一样',
trainingRecord: '实训录制',
lesson: '课程',
taskManage: '任务管理',
trainingRule: '操作定义',
trainingManage: '实训管理',
newConstruction: '新建',
applicationForRelease: '申请发布',
rejectReason: '驳回原因',
withdraw: '撤销',
notRelease: '未发布',
pendingReview: '待审核',
published: '已发布',
rejected: '已驳回',
review: '查看',
explanation: '驳回说明',
courseDetails: '课程详情',
courseTree: '课程树:',
mapName:'地图名称',
copy: '复制'
};

View File

@ -0,0 +1,21 @@
export default {
clickRefresh: '点击刷新',
scanCodeLogin: '使用手机微信扫码登录',
recommendedConfiguration: '推荐配置',
browser: '浏览器:',
googleChrome: '谷歌浏览器',
screenResolution: '屏幕分辨率:',
welcomeTo: '欢迎登录',
mobilePhoneNumberOrEmail: '手机号/邮箱',
password: '密码',
autoLogin: '自动登录',
perfectInformation: '请在琏课堂小程序助手,完善个人信息,设置登录密码,手机号或邮箱。',
unableToLogin: '无法登录?',
login: '登录',
enterTheCorrectUserName: '请输入正确的用户名',
passwordHint: '密码不能小于5位',
accountOrPasswordIsIncorrect: '账号或密码不正确!',
getLoginQrCode: '获取登录二维码失败,请刷新重试',
language: '语言',
clickSwitchLanguage: '点击切换语言'
};

View File

@ -12,6 +12,7 @@ export default {
saveMapAs: '地图另存为',
create: '创建',
dataVerification: '数据校验',
edit3d: '三维编辑',
logicalView: '逻辑视图',
physicalView: '物理视图',
mixedView: '混合视图',
@ -89,6 +90,9 @@ export default {
publishMapCreation: '从发布地图创建',
failedLoadListPublishedMaps: '加载已发布地图列表失败',
publishedMapList: '已发布地图列表',
myMapList: '我的地图列表',
creatingSuccessful: '创建成功!',
mapUpdateSuccessful: '更新地图成功!',
createFailure: '创建失败',
@ -116,7 +120,7 @@ export default {
editAutoRouting: '编辑自动信号',
setSwitch: '联动道岔',
pathUnit: '路径单元',
jlmap3d: '三维化编辑',
jlmap3d: '三维编辑',
automaticSignalList: '自动信号列表',
automaticSignalCode: '自动信号编码',
@ -484,6 +488,7 @@ export default {
pointSystem2: '2分制',
pointSystem5: '5分制',
skinType: '皮肤风格',
lineCode:'线路类型',
turnoverTime: '更新时间',
productList: '产品列表',
belongsToMapName: '所属地图名称',
@ -535,6 +540,7 @@ export default {
horizontal: '水平',
vertical: '垂直',
piece: 'piece'
piece: 'piece',
setStationCode: '批量设置集中站'
};

View File

@ -487,6 +487,8 @@ export default {
settingTrain: '设置列车',
sourceTrainWindow: '源车次窗',
trainWindow: '车次窗',
targetTrainWindow: '目的车次窗'
targetTrainWindow: '目的车次窗',
category: '类别',
lineCode:'线路类型'
};

View File

@ -10,10 +10,10 @@ export default {
permissionStatus: '权限状态',
permissionUseType: '公用/专用',
permissionTotal: '权限总数',
permissionRemains: '剩余权限',
permissionRemains: '剩余数量',
isForever: '是否永久',
startTime: '开始时间',
endTime: '结束时间',
startTime: '获得时间',
endTime: '到期时间',
belonger: '归属人',
userList: '用户列表',
customPackageRules: '定制打包规则',
@ -38,5 +38,11 @@ export default {
permissionList: '查看权限列表',
lastShep: '上一步',
userName: '用户名称',
statusType: '状态类型'
statusType: '状态类型',
isPackage:'是否万能',
numOfDistribute:'分发权限数量',
numOfTransfer:'转赠权限数量',
transferTips:'一次可以领取多个权限,领到的权限可以继续转赠',
distributeTips:'一次只能领取一个权限,领到的权限是专用权限,不可再次分发'
};

View File

@ -232,5 +232,12 @@ export default {
endTime: '终到时间',
editPlanningTrain: '编辑计划车',
tipOperationTime: '请先设置区段站间运行时间, 【文件】-> 【修改站间运行时间】',
serverTrainNum: '表号车次号'
serverTrainNum: '表号车次号',
explanation: '驳回说明',
creationDate: '创建日期',
load: '加载',
modifyName: '修改名称',
applyRelease:'申请发布',
preview:'预览',
revoke:'撤回'
};

View File

@ -4,7 +4,9 @@ export default {
mapName: '地图名称',
lessonName: '课程名称',
updateMapName: '更新地图名称',
updateCityName: '更新城市',
updateTime: '更新时间',
updateLesson: '修改课程',
operationSuccess: '操作成功',
deleteSuccess: '删除成功',
wellDelType: '此操作将删除该类型, 是否继续?',
@ -113,6 +115,16 @@ export default {
// addRules 添加规则
selectTestType: '请选择试题类型',
modifyRules: '修改规则',
enterRunPlanName: '请输入运行图名称'
enterRunPlanName: '请输入运行图名称',
// refreshFailed 刷新失败
setTheProject: '设置归属项目',
whetherItBelongsToTheProject: '是否归属项目',
belongsProject: '归属项目',
theBelongsProjectCannotBeEmpty: '所属项目不能为空',
pleaseSelectTheBelongsProject: '请选择归属项目',
copyMapAs: '复制地图为',
whetherToCopyData: '是否复制数据',
copy:'复制',
lineType:'线路类型',
belongsToMap: '所属地图'
};

View File

@ -1,6 +1,9 @@
export default {
homePage: '首页',
designhomePage: '公共地图',
designUserPage: '个人地图',
mapManage: '地图管理',
skinManage: '皮肤管理',
mapDraw: '地图绘制',
@ -59,5 +62,12 @@ export default {
userSimulationManage: '用户仿真统计',
existingSimulation: '存在仿真管理',
ibpDraw: 'Ibp盘绘制'
ibpDraw: 'Ibp盘绘制',
trainingPlatform: '实训平台',
releaseApplication: '发布申请',
courseApplication: '课程发布申请',
scriptReleaseApplication: '剧本发布申请',
runGraphReleaseApplication: '运行图发布申请',
subsystemGeneration: '子系统生成',
newsBulletin: '消息公告'
};

View File

@ -34,6 +34,8 @@ export default {
basisLink: '基础Link:',
pleaseSelectSectionName: '请选择区段名称',
pleaseSelectSection: '请选择区段',
pleaseSelectStationCode: '请选择设备集中站',
pleaseFillOffset: '请填写偏移量',
pleaseFillValue: '请填写数值',
pleaseSelectLeftSectionName: '请选择左侧区段名称',
@ -141,10 +143,12 @@ export default {
switchesCannot: '道岔不能为同一个',
pleaseInputName: '请输入名称',
pleaseInputNickName: '请输入昵称',
pleaseSelectStatus: '请选择状态',
pleaseInputCode: '请输入编码',
strLength1To25: '长度在 1 到 25 个字符',
strLengthNotExceed50: '不能超过 50 个字符',
pleaseSelectCity: '请选择城市',
pleaseEnterMapName: '请输入地图名称',
pleaseChooseSkinCode: '请选择皮肤风格',
@ -216,7 +220,7 @@ export default {
courseNameEmpty: '课程名称不能为空',
purchaseMonth: '请输入购买月数',
accessNumber: '请输入权限数量',
pleaseInputMapName: '请输入地图名称',
pleaseInputMapName: '请输入地图名称',
inputTemplateRunPlan: '请选择模板运行图',
inputSkinType: '请选择皮肤类型',
@ -240,6 +244,7 @@ export default {
enterCourseName: '请输入课程名称',
selectAssociatedProduct: '请选择关联产品',
enterCourseDescription: '请输入课程说明',
pleaseLessonIntroduction: '请输入课程简介',
courseIdIsEmpty: '课程Id为空',
selectCity: '请选择城市',
enterStandardTime: '请输入标准用时',
@ -308,5 +313,9 @@ export default {
enterTheKeyWidth: '请输入钥匙宽度',
selectTheKeyDirection: '请选择钥匙朝向',
enterTheUpperText: '请输入上侧文字',
enterTheLowerText: '请输入下侧文字'
enterTheLowerText: '请输入下侧文字',
enterRejectReason: '请输入驳回说明',
enterTheNewsTitle: '请输入消息标题',
enterTheNewsContent: '请输入消息内容',
chooseNewsCanBeClosed: '请选择消息是否可关闭'
};

View File

@ -4,6 +4,7 @@ export default {
saveData: '保存数据',
mapList: '地图列表',
createScript: '创建剧本',
modifyScript: '修改剧本',
scriptName: '剧本名称',
addScript: '添加剧本',
map: '所属地图',
@ -15,6 +16,7 @@ export default {
createScriptFail: '创建剧本失败',
scriptDetail: '剧本详情',
scriptRecord: '编制',
scriptCreate: '创建',
scriptModify: '修改',
scriptDelete: '删除',
getScriptFail: '获取剧本信息失败',
@ -65,6 +67,12 @@ export default {
startStationRules: '请选择起始站台',
endStation: '终点站台',
endStationRules: '请选择终点站台',
drivingMode:'列车驾驶模式',
drivingModeRules:'请选择列车驾驶模式',
speed:'速度',
signal:'信号机',
speedRules:'请输入速度',
signalRules:'请选择信号机',
addCommandButton: '添加指令',
addConversitionButton: '添加对话',
@ -82,7 +90,25 @@ export default {
scriptBack: '返回',
speakTo: '对',
executeCommandTips: '执行指令: ',
operate: '操作',
scriptList: '剧本列表',
applyPublish: '申请发布',
preview: '预览',
status: '状态',
applyRevoke: '撤回',
publish: '发布',
revokeReason: '驳回原因',
language: '语言',
chinese: '中文',
english: '英文'
english: '英文',
publishScript: '发布剧本',
releaseScriptSuccess: '申请发布成功',
releaseScriptFailed: '申请发布失败',
publishScriptSuccess: '发布成功',
publishScriptFailed: '发布失败',
releaseScriptTip: '此操作将申请发布剧本, 是否继续?',
revokeScriptTip: '此操作将撤销发布剧本申请, 是否继续?',
inputScriptName: '请输入剧本名称',
selectMap: '请选择地图',
inputScriptDescription: '请输入剧本描述'
};

View File

@ -48,5 +48,10 @@ export default {
editTrainingDetail: '编辑实训详情',
trainingTime: '实训时长',
subscribeToTheMapList: '订阅地图列表:',
editSimulationDetails: '编辑仿真详情'
editSimulationDetails: '编辑仿真详情',
newsBulletin: '消息公告',
newsHeadlines: '消息标题:',
newsContent: '消息内容:',
whetherTheNewsCanBeClosed: '消息是否可关闭:',
push: '推送'
};

View File

@ -0,0 +1,31 @@
export default {
map: '地图',
mapName: '地图名称',
prdName: '产品名称',
name: '名称',
type: '类型',
updateData: '更新',
generate: '生成',
selectMap: '请选择地图',
generateSuccess: '生成该地图下子系统成功!',
generateFail: '生成该地图下子系统失败!',
inputName: '请输入子系统名称',
selectType: '请选择类型',
selectPrdName: '请选择产品名称',
createSubSystem: '定制子系统',
modifySubSystem: '修改子系统',
commission: '定制',
customized: '项目',
selectProject: '请选择项目',
createMapSystemSuccess: '创建地图系统成功',
createMapSystemFail: '创建地图系统失败',
getSubSystemInfoFail: '获取子系统信息失败',
updateMapSystemSuccess: '更新地图系统成功',
updateMapSystemFail: '更新地图系统失败',
generation: '一键生成',
deleteData: '删除',
deleteMapSystemSuccess: '删除地图系统成功',
deleteMapSystemFail: '删除地图系统失败',
deleteMapSystemTip: '此操作将删除地图系统, 是否继续?'
};

View File

@ -16,5 +16,7 @@ export default {
permissionDistribute: '权限分发(上课)',
authorityTransferred: '权限转赠',
courseList: '课程列表',
seconds: '秒'
seconds: '秒',
enterTheCourse: '进入课程',
returnCourseList: '返回课程列表'
};

View File

@ -198,5 +198,28 @@ export default {
runGraphNameModifiedSuccessfully: '修改运行图名称成功!',
modifyRunGraphNameFailed: '修改运行图名称失败!',
planCreationSuccessful: '创建计划成功!',
createPlanFailed: '创建计划失败!'
createPlanFailed: '创建计划失败!',
cancelCoursePublicationHint: '此操作将撤销课程发布申请,是否确定?',
cancelTheSuccessfulApplicationOfTheCourseRelease: '撤销课程发布申请成功!',
cancellationOfCoursePublicationApplicationFailed: '撤销课程发布申请失败!',
publishTheCourseHint: '此操作将发布课程,是否确定?',
rejectedCourseReleaseApplicationSuccessful: '驳回课程发布申请成功!',
rejectedCourseReleaseApplicationFailed: '驳回课程发布申请失败!',
duplicatePlanFailedTips: '间隔时间需要大于30秒或次数大于1',
createSwitchPortion: '相关道岔未生成',
publishRunPlanTips:'此操作将发布运行图,是否继续?',
applyRunPlanTips:'此操作将发起运行图发布申请,是否继续?',
publishRunPlanSuccess:'发布运行图成功!',
publishRunPlanFail:'发布运行图失败!',
applyRunPlanSuccess:'提交运行图发布申请成功!',
applyRunPlanFail:'提交运行图发布申请失败!',
cancelRunPlanTips:'此操作将撤销发布运行图申请,是否继续?',
cancelRunPlanSuccess:'撤销运行图发布申请成功!',
cancelRunPlanFail:'撤销运行图发布申请失败!',
setProjectSuccess: '设置归属项目成功!',
setProjectFail: '设置归属项目失败!',
copyMapSuccess: '复制地图成功!',
copyMapFail: '复制地图失败!',
pushNewsSuccess: '推送消息成功!',
pushNewsFailed: '推送消息失败!'
};

View File

@ -25,5 +25,13 @@ export default {
sending: '发送中...',
holdAndTalk: '按住说话',
recording: '录音中...',
sendText: '发送文字'
sendText: '发送文字',
left: '左',
right: '右',
realDevice: '真实设备',
plcGatewayOnline: '[PLC网关在线]',
plcGatewayOffline: '[PLC网关离线]',
uplinkPlatform: '上行站台',
downlinkPlatform: '下行站台',
ibp:'IBP'
};

View File

@ -107,4 +107,10 @@ deviceRender[deviceType.Alarm] = {
z: 4
};
deviceRender[deviceType.CheckBox] = {
_type: deviceType.CheckBox,
zlevel: 10,
z: 0
};
export default deviceRender;

View File

@ -12,7 +12,8 @@ const deviceType = {
Key: 'Key',
TeleTerminal: 'TeleTerminal',
Clock: 'Clock',
RotateTip: 'RotateTip'
RotateTip: 'RotateTip',
CheckBox: 'CheckBox'
};
export default deviceType;

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@ class IbpPan {
this.methods = opts.methods;
// 鼠标事件
this.events = { __Pan: 'pan', Contextmenu: 'contextmenu'};
this.events = { __Pan: 'pan', Selected: 'selected', Contextmenu: 'contextmenu'};
// 设备数据
this.ibpDevice = {};
@ -29,7 +29,7 @@ class IbpPan {
initIbpPage(opts) {
const width = opts.config.width;
const height = opts.config.height;
this.isAllowDragging=false;
this.isAllowDragging = false;
this.$ibpZr = zrender.init(opts.dom, Object.assign({ renderer, devicePixelRatio, width, height }, opts.config));
this.$options = new Options(Object.assign({ scaleRate: 1, offsetX: 0, offsetY: 0 }, opts.options || {})); // 缩放
this.$mouseController = new MouseController(this);
@ -180,7 +180,21 @@ class IbpPan {
if (this.methods.stateUpdate instanceof Function) { this.methods.stateUpdate(list); }
}
setStatus(code, model) {
const oDevcie = this.ibpDevice[code].instance;
oDevcie.setStatus(model);
}
setDeviceStatus(list) {
const deviceList = Object.values(this.ibpDevice);
deviceList.forEach(elem =>{
(list || []).forEach(it =>{
if (elem.model.linkDevice === it.code) {
elem.instance.setStatus(it);
}
});
});
}
drawIbpInit() {
this.$mouseController.setAllowDragging(true);
}
@ -289,5 +303,25 @@ class IbpPan {
}
}
}
renderCheckBox(model) {
const type = model._type;
const code = model.code;
const oDevice = this.ibpDevice[code] || deviceFactory(type, model);
const nDevice = deviceFactory(type, Object.assign(oDevice.model || {}, model));
delete this.ibpDevice[code];
this.$painter.delete(oDevice);
if (!model._dispose) {
this.ibpDevice[code] = nDevice;
this.$painter.add(nDevice);
}
}
deleteCheckBox(code) {
const oDevice = this.ibpDevice[code];
if (oDevice) {
delete this.ibpDevice[code];
this.$painter.delete(oDevice);
}
}
}
export default IbpPan;

Some files were not shown because too many files have changed in this diff Show More