diff --git a/src/api/ibp.js b/src/api/ibp.js
index 24f29775e..a80778999 100644
--- a/src/api/ibp.js
+++ b/src/api/ibp.js
@@ -67,3 +67,19 @@ export function getIbpInfoByStation(mapId, stationCode) {
method: 'get'
});
}
+// 获取IBP盘数据
+export function getIbpList(params) {
+ return request({
+ url: `/api/ibp/list`,
+ method: 'get',
+ params: params
+ });
+}
+// 复制ibp盘数据
+export function copyIbpData(data) {
+ return request({
+ url: `/api/draftIbp/copy`,
+ method: 'post',
+ data: data
+ });
+}
diff --git a/src/assets/icon/favicon_nty.png b/src/assets/icon/favicon_nty.png
new file mode 100644
index 000000000..9b397c8bf
Binary files /dev/null and b/src/assets/icon/favicon_nty.png differ
diff --git a/src/ibp/mouseController.js b/src/ibp/mouseController.js
index 4527834d4..977a90af9 100644
--- a/src/ibp/mouseController.js
+++ b/src/ibp/mouseController.js
@@ -130,7 +130,7 @@ class MouseController extends Eventful {
}
mouseup(e) {
- if (eventTool.notLeftMouse(e) || !this.eventTarget ) {
+ if (!this.eventTarget ) {
return;
}
if (this.deviceList.length) {
@@ -268,7 +268,7 @@ class MouseController extends Eventful {
this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
}
}
- if (this.eventTarget && this.eventTarget.grouper) {
+ if (this.eventTarget && this.eventTarget.grouper && this.boundingRect) {
const x = e.event.x + this.$ibp.$options.offsetX;
const y = e.event.y + this.$ibp.$options.offsetY;
if (!(x <= this.boundingRect.x2 && x >= this.boundingRect.x1 && y <= this.boundingRect.y2 && y >= this.boundingRect.y1)) {
diff --git a/src/ibp/options.js b/src/ibp/options.js
index 77ba4576e..d0cb53ac8 100644
--- a/src/ibp/options.js
+++ b/src/ibp/options.js
@@ -62,12 +62,11 @@ class Options {
}
this.scaleRate = this.scaleList[this.scaleIndex];
}
-
if (Number.isFinite(payload.scaleRate)) {
const idx = this.scaleList.indexOf(payload.scaleRate);
- if (idx < 0) {
- return;
- }
+ // if (idx < 0) {
+ // return;
+ // }
this.scaleIndex = idx;
this.scaleRate = payload.scaleRate;
}
@@ -83,7 +82,6 @@ class Options {
if (payload.zoomOnMouseWheel === true || payload.zoomOnMouseWheel === false) {
this.zoomOnMouseWheel = payload.zoomOnMouseWheel;
}
-
if (this.trigger instanceof Function) { this.trigger(this); }
}
diff --git a/src/ibp/shape/key.js b/src/ibp/shape/key.js
index a3b86bdb7..ff40e26dc 100644
--- a/src/ibp/shape/key.js
+++ b/src/ibp/shape/key.js
@@ -84,7 +84,7 @@ export default class key extends Group {
x: model.width / 2,
y: model.width / 361 * 336 + 12,
fontWeight: 600,
- fontSize: 10,
+ fontSize: model.textFontSize || 10,
fontFamily: model.fontFamily,
text: model.bottomText,
textStrokeWidth: 0,
@@ -102,7 +102,7 @@ export default class key extends Group {
x: model.width + 14,
y: model.width / 361 * 336 / 2 - 4,
fontWeight: 600,
- fontSize: 10,
+ fontSize: model.textFontSize || 10,
fontFamily: model.fontFamily,
text: model.topText,
textStrokeWidth: 0,
diff --git a/src/ibp/transformHandle.js b/src/ibp/transformHandle.js
index 3ff3ab22a..8518e74db 100644
--- a/src/ibp/transformHandle.js
+++ b/src/ibp/transformHandle.js
@@ -9,7 +9,7 @@ class TransformHandle {
this.rect = { x: 0, y: 0, width: 0, height: 0 };
- this.transform = createTransform({ scaleRate: 1, offsetX: 0, offsetY: 0 });
+ this.transform = createTransform({ scaleRate: painter.$ibp.$options.scaleRate, offsetX: 0, offsetY: 0 });
}
checkVisible(view) {
@@ -58,13 +58,12 @@ class TransformHandle {
if (canvasSize.y - opts.offsetY > 0) {
opts.offsetY = -elRect.y;
}
-
- if (elRect.x + canvasSize.width < zrRect.width) {
- opts.offsetX -= zrRect.width - (elRect.x + canvasSize.width);
+ if (elRect.x + canvasSize.width * this.$painter.$ibp.$options.scaleRate < zrRect.width) {
+ opts.offsetX -= zrRect.width - (elRect.x + canvasSize.width * this.$painter.$ibp.$options.scaleRate);
}
- if (elRect.y + canvasSize.height < zrRect.height) {
- opts.offsetY -= zrRect.height - (elRect.y + canvasSize.height);
+ if (elRect.y + canvasSize.height * this.$painter.$ibp.$options.scaleRate < zrRect.height) {
+ opts.offsetY -= zrRect.height - (elRect.y + canvasSize.height * this.$painter.$ibp.$options.scaleRate);
}
}
this.transform = createTransform(opts);
diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js
index 97f8d6868..3ffaf9b17 100644
--- a/src/scripts/ProjectConfig.js
+++ b/src/scripts/ProjectConfig.js
@@ -11,6 +11,7 @@ import Link_Jyd from '@/assets/icon/link_jyd.png';
import FaviconTky from '@/assets/icon/favicon_tky.png';
import FaviconBxkc from '@/assets/icon/favicon_bxkc.png';
import FaviconCrsc from '@/assets/icon/favicon_crsc.png';
+import FaviconNty from '@/assets/icon/favicon_nty.png';
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
import Link_Crsc from '@/assets/icon/link_crsc.png';
import Link_Hls from '@/assets/icon/link_hls.png';
@@ -28,6 +29,15 @@ export const loginInfo = {
navigationMarginLeft: '60px',
systemType: '013'
},
+ nty: {
+ title: '南京铁道职业技术学院城市轨道交通实训平台',
+ loginPath:'/login?project=nty',
+ loginParam: 'NTY',
+ titleDistance: '-150px',
+ navigationLogoWidth: '40px',
+ navigationMarginLeft: '60px',
+ systemType: '011'
+ },
login: {
title: LangStorage.getLang() == 'en' ? ' Urban Rail Transit Practical Training Platform' : '城市轨道交通实训平台',
loginPath: '/login',
@@ -71,6 +81,15 @@ export const loginInfo = {
navigationMarginLeft: '60px',
systemType: '013'
},
+ designnty: {
+ title: '南京铁道职业技术学院城市轨道交通设计平台',
+ loginPath:'/design/login?project=nty',
+ loginParam: 'NTY',
+ titleDistance: '-150px',
+ navigationLogoWidth: '40px',
+ navigationMarginLeft: '60px',
+ systemType: '011'
+ },
gzb: {
title: '贵州装备制造职业学院城市轨道交通实训平台',
loginPath:'/login?project=gzb',
@@ -331,7 +350,9 @@ export const ProjectIcon = {
hls: FaviconHls,
designhls: FaviconHls,
drts: Favicon,
- designdrts: Favicon
+ designdrts: Favicon,
+ nty: FaviconNty,
+ designnty: FaviconNty
};
export const ProjectCode = {
@@ -344,15 +365,17 @@ export const ProjectCode = {
xadt: 'XADT',
designxadt: 'XADT',
drts: 'DRTS',
- designdrts: 'DRTS'
+ designdrts: 'DRTS',
+ nty: 'NTY',
+ designnty: 'NTY'
};
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd']; // 底部栏仅展示公司信息不展示备案号
-export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts']; // 实训设计平台通过项目code获取地图列表的项目
+export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'nty', 'designnty']; // 实训设计平台通过项目code获取地图列表的项目
export const CaseHideProjectList = ['heb', 'designheb']; // 案例展示隐藏的项目
export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'hyd', 'designhyd']; // 登录页右下角版本开发基于不展示
export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd']; // 登录页右下角主体不展示
export const GenerateRouteProjectList = ['jsxt', 'refereeJsxt'];// 需要在公共路由中生成登录页面的项目
-export const ProjectLoginStyleList = ['jsxt', 'refereeJsxt', 'gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'hyd', 'designhyd']; // 登录页样式
+export const ProjectLoginStyleList = ['jsxt', 'refereeJsxt', 'gzb', 'designgzb', 'xty', 'designxty', 'xadt', 'designxadt', 'tky', 'designtky', 'jyd', 'designjyd', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'drts', 'hyd', 'designhyd', 'nty', 'designnty']; // 登录页样式
export const NoQrcodeList = ['heb', 'designheb'];
export const goOtherPlatformMenu = { // 导航栏快速切换平台
login: '/design/login',
@@ -376,12 +399,15 @@ export const goOtherPlatformMenu = { // 导航栏快速切换平台
hls: '/design/login?project=hls',
designhls: '/login?project=hls',
hyd: '/design/login?project=hyd',
- designhyd: '/login?project=hyd'
+ designhyd: '/login?project=hyd',
+ nty: '/design/login?project=nty',
+ designnty: '/login?project=nty'
};
export const ProjectList = [
{value:'xty', label:'西铁院'},
{value: 'gzb', label: '贵州装备'},
{value: 'xadt', label: '西安地铁'},
{value: 'heb', label: '哈尔滨'},
- {value: 'drts', label: '调度大赛'}
+ {value: 'drts', label: '调度大赛'},
+ {value: 'nty', label: '南铁院'}
];
diff --git a/src/views/ibp/copy.vue b/src/views/ibp/copy.vue
new file mode 100644
index 000000000..b474d5a36
--- /dev/null
+++ b/src/views/ibp/copy.vue
@@ -0,0 +1,153 @@
+
+