Merge remote-tracking branch 'origin/test'
BIN
src/assets/iscs_icon/air_conditioner.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/iscs_icon/balanced_electric.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
src/assets/iscs_icon/chiller.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/assets/iscs_icon/cool_tower.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
src/assets/iscs_icon/electric_butterfly_value.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/iscs_icon/fire_damper.png
Normal file
After Width: | Height: | Size: 756 B |
BIN
src/assets/iscs_icon/frozen_pump.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
src/assets/iscs_icon/orbital_ventilator.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/iscs_icon/smook_exhaust_fd.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/assets/iscs_icon/smook_proof_fd.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/assets/iscs_icon/tunnel_fan.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/iscs_icon/ventilator.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/iscs_icon/volume_control_damper.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
@ -37,6 +37,7 @@ export default {
|
|||||||
washCarModel: 'Wash',
|
washCarModel: 'Wash',
|
||||||
forcedAirCompressor: 'Compressor Forced Start',
|
forcedAirCompressor: 'Compressor Forced Start',
|
||||||
ATBStart: 'ATB',
|
ATBStart: 'ATB',
|
||||||
|
ChangeHead: 'Change Head',
|
||||||
forcedRelieve: 'Forced Relief',
|
forcedRelieve: 'Forced Relief',
|
||||||
closeLeftDoor: 'L Door Close',
|
closeLeftDoor: 'L Door Close',
|
||||||
openLeftDoor: 'L Door Open',
|
openLeftDoor: 'L Door Open',
|
||||||
|
@ -37,6 +37,7 @@ export default {
|
|||||||
washCarModel: '洗车模式',
|
washCarModel: '洗车模式',
|
||||||
forcedAirCompressor: '空压机强迫启动',
|
forcedAirCompressor: '空压机强迫启动',
|
||||||
ATBStart: 'ATB启动',
|
ATBStart: 'ATB启动',
|
||||||
|
ChangeHead: '换端',
|
||||||
forcedRelieve: '强迫缓解',
|
forcedRelieve: '强迫缓解',
|
||||||
closeLeftDoor: '关左门',
|
closeLeftDoor: '关左门',
|
||||||
openLeftDoor: '开左门',
|
openLeftDoor: '开左门',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Group from 'zrender/src/container/Group';
|
import Group from 'zrender/src/container/Group';
|
||||||
import Text from 'zrender/src/graphic/Text';
|
import Text from 'zrender/src/graphic/Text';
|
||||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
// import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
|
|
||||||
export default class ibpText extends Group {
|
export default class ibpText extends Group {
|
||||||
constructor(device) {
|
constructor(device) {
|
||||||
|
@ -224,6 +224,17 @@ class Iscs {
|
|||||||
return this.iscsDevice[code];
|
return this.iscsDevice[code];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copySelect(list) {
|
||||||
|
this.copyList = list.map(item => {
|
||||||
|
if (item._type != 'CheckBox') {
|
||||||
|
return item.model;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
getCopyList() {
|
||||||
|
return this.copyList;
|
||||||
|
}
|
||||||
|
|
||||||
resize(opt) {
|
resize(opt) {
|
||||||
this.$iscsZr.resize(opt);
|
this.$iscsZr.resize(opt);
|
||||||
this.$painter.updateZrSize(opt);
|
this.$painter.updateZrSize(opt);
|
||||||
|
@ -7,7 +7,6 @@ class KeyboardController extends Eventful {
|
|||||||
this.$iscs = iscs;
|
this.$iscs = iscs;
|
||||||
this.$zr = iscs.getZr();
|
this.$zr = iscs.getZr();
|
||||||
this.events = iscs.getEvents();
|
this.events = iscs.getEvents();
|
||||||
this.initData();
|
|
||||||
this.initHandler(this.$zr);
|
this.initHandler(this.$zr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,10 +31,6 @@ class KeyboardController extends Eventful {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
initData() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
keydown(e) {
|
keydown(e) {
|
||||||
if (this._keyOnDownUp && !e.repeat) {
|
if (this._keyOnDownUp && !e.repeat) {
|
||||||
const currentEvent = keyboardEvents[e.key.toUpperCase()];
|
const currentEvent = keyboardEvents[e.key.toUpperCase()];
|
||||||
|
@ -97,8 +97,6 @@ class MouseController extends Eventful {
|
|||||||
this.handleMouseDownRight(e);
|
this.handleMouseDownRight(e);
|
||||||
} else if (e.which === 1) {
|
} else if (e.which === 1) {
|
||||||
this.handleMouseDownLeft(e);
|
this.handleMouseDownLeft(e);
|
||||||
} else if (e.which === 2) {
|
|
||||||
this.handleMouseDownWheel(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,27 +117,11 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mouseup(e) {
|
mouseup(e) {
|
||||||
if (eventTool.notLeftMouse(e) || !this.eventTarget ) {
|
if (e.which === 3) {
|
||||||
return;
|
this.handleMouseUpRight(e);
|
||||||
|
} else if (e.which === 1) {
|
||||||
|
this.handleMouseUpLeft(e);
|
||||||
}
|
}
|
||||||
if (this.deviceList.length) {
|
|
||||||
this.deviceList.forEach(item => {
|
|
||||||
item.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
|
||||||
});
|
|
||||||
this.deviceList = [];
|
|
||||||
this.$iscs.deleteCheckBox('check_box');
|
|
||||||
this.eventTarget = '';
|
|
||||||
this._dragging = false;
|
|
||||||
this.deviceList = [];
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (this.isAllowDragging) {
|
|
||||||
this.eventTarget.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
|
||||||
this.eventTarget.dirty();
|
|
||||||
}
|
|
||||||
this.eventTarget = '';
|
|
||||||
this._dragging = false;
|
|
||||||
this.deviceList = [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
contextmenu(e) {
|
contextmenu(e) {
|
||||||
@ -195,24 +177,31 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
/** 处理鼠标右键按下事件 */
|
/** 处理鼠标右键按下事件 */
|
||||||
handleMouseDownRight(e) {
|
handleMouseDownRight(e) {
|
||||||
|
this.deviceList = [];
|
||||||
|
this.eventTarget = '';
|
||||||
|
this.$iscs.deleteCheckBox('check_box'); // 清空上次操作
|
||||||
|
this.$iscs.copySelect(this.deviceList);
|
||||||
|
|
||||||
this.rightClickPoint.x = e.offsetX;
|
this.rightClickPoint.x = e.offsetX;
|
||||||
this.rightClickPoint.y = e.offsetY;
|
this.rightClickPoint.y = e.offsetY;
|
||||||
}
|
}
|
||||||
/** 处理鼠标左键按下事件 */
|
/** 处理鼠标左键按下事件 */
|
||||||
handleMouseDownLeft(e) {
|
handleMouseDownLeft(e) {
|
||||||
if (this.eventTarget && this.eventTarget._type === deviceType.CheckBox) {
|
if (this.$iscs.iscsDevice['check_box']) { // 判断点击点是否在 checkBox 范围
|
||||||
this.handleBoundingRect(this.eventTarget);
|
const boundingRect = this.$iscs.iscsDevice['check_box'].instance.getBoundingRect().clone();
|
||||||
|
const x1 = e.event.zrX + this.$iscs.$options.offsetX;
|
||||||
|
const y1 = e.event.zrY + this.$iscs.$options.offsetY;
|
||||||
|
if (!this.contain(boundingRect, x1, y1)) {
|
||||||
|
this._dragging = false;
|
||||||
|
this.deviceList = [];
|
||||||
|
this.eventTarget = '';
|
||||||
|
this.$iscs.deleteCheckBox('check_box'); // 清空上次操作
|
||||||
|
this.$iscs.copySelect(this.deviceList);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.$iscs.deleteCheckBox('check_box');
|
this.$iscs.deleteCheckBox('check_box');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** 处理滚轮按下事件 */
|
|
||||||
handleMouseDownWheel(e) {
|
|
||||||
this.deviceList = [];
|
|
||||||
Object.values(this.$iscs.iscsDevice).forEach(item => {
|
|
||||||
this.deviceList.push(item.instance);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/** 处理右键拖动事件--- 改变选中区域大小 */
|
/** 处理右键拖动事件--- 改变选中区域大小 */
|
||||||
handleMouseMoveRight(point2) {
|
handleMouseMoveRight(point2) {
|
||||||
const point1 = this.rightClickPoint;
|
const point1 = this.rightClickPoint;
|
||||||
@ -244,35 +233,80 @@ class MouseController extends Eventful {
|
|||||||
this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 右键抬起事件
|
||||||
|
handleMouseUpRight() {
|
||||||
|
if (this.$iscs.iscsDevice['check_box']) {
|
||||||
|
this.handleBoundingRect(this.$iscs.iscsDevice['check_box'].instance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 左键抬起事件
|
||||||
|
handleMouseUpLeft(e) {
|
||||||
|
if (this.deviceList.length) {
|
||||||
|
this.deviceList.forEach(item => {
|
||||||
|
item.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.isAllowDragging && this.eventTarget) {
|
||||||
|
this.eventTarget.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
||||||
|
this.eventTarget.dirty();
|
||||||
|
}
|
||||||
|
}
|
||||||
/** 通过包围盒筛选选中区域的元素 */
|
/** 通过包围盒筛选选中区域的元素 */
|
||||||
handleBoundingRect(eventTarget) {
|
handleBoundingRect(eventTarget) {
|
||||||
this.deviceList = [];
|
this.deviceList = [];
|
||||||
let boundingRect = eventTarget.grouper.getBoundingRect();
|
let boundingRect = eventTarget.grouper.getBoundingRect().clone();
|
||||||
boundingRect = this.createFakeBoundingRect(eventTarget, boundingRect);
|
boundingRect = this.createFakeBoundingRect(eventTarget, boundingRect);
|
||||||
const deviceList = Object.values(this.$iscs.iscsDevice);
|
const deviceList = Object.values(this.$iscs.iscsDevice);
|
||||||
const includeDeviceList = [];
|
|
||||||
deviceList.forEach(item =>{
|
deviceList.forEach(item =>{
|
||||||
let deviceBoundingRect = item.instance.grouper.getBoundingRect();
|
let deviceBoundingRect = item.instance.grouper.getBoundingRect().clone();
|
||||||
deviceBoundingRect = this.createFakeBoundingRect(item.instance, deviceBoundingRect);
|
deviceBoundingRect = this.createFakeBoundingRect(item.instance, deviceBoundingRect);
|
||||||
if (this.whetherInclude(boundingRect, deviceBoundingRect)) {
|
if (this.whetherInclude(boundingRect, deviceBoundingRect)) {
|
||||||
includeDeviceList.push(item.instance);
|
this.deviceList.push(item.instance);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.deviceList = includeDeviceList;
|
this.$iscs.copySelect(this.deviceList);
|
||||||
}
|
}
|
||||||
/** 创建假包围盒对象 */
|
/** 创建假包围盒对象 */
|
||||||
createFakeBoundingRect(instance, boundingRect) {
|
createFakeBoundingRect(instance, boundingRect) {
|
||||||
|
const x1 = instance.model.point.x;
|
||||||
|
const y1 = instance.model.point.y;
|
||||||
return {
|
return {
|
||||||
x1: instance.model.point.x + boundingRect.x,
|
// x: x1 + boundingRect.x,
|
||||||
y1: instance.model.point.y + boundingRect.y,
|
// y: y1 + boundingRect.y,
|
||||||
x2: instance.model.point.x + boundingRect.width,
|
// width: boundingRect.width,
|
||||||
y2: instance.model.point.y + boundingRect.height
|
// height: boundingRect.height
|
||||||
|
x1: x1 + boundingRect.x,
|
||||||
|
y1: y1 + boundingRect.y,
|
||||||
|
x2: x1 + boundingRect.width,
|
||||||
|
y2: y1 + boundingRect.height
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
/** 判断元素包围盒是否在选中区域 */
|
/** 判断元素包围盒是否在选中区域 */
|
||||||
whetherInclude(boundingRect1, boundingRect2) {
|
whetherInclude(boundingRect1, boundingRect2) {
|
||||||
return boundingRect1.x1 <= boundingRect2.x1 && boundingRect1.y1 <= boundingRect2.y1 && boundingRect1.x2 >= boundingRect2.x2 && boundingRect1.y2 >= boundingRect2.y2;
|
return boundingRect1.x1 <= boundingRect2.x1 && boundingRect1.y1 <= boundingRect2.y1 && boundingRect1.x2 >= boundingRect2.x2 && boundingRect1.y2 >= boundingRect2.y2;
|
||||||
}
|
}
|
||||||
|
// 判断元素包围盒是否在选中区域
|
||||||
|
intersect(a, b) {
|
||||||
|
var ax0 = a.x;
|
||||||
|
var ax1 = a.x + a.width;
|
||||||
|
var ay0 = a.y;
|
||||||
|
var ay1 = a.y + a.height;
|
||||||
|
|
||||||
|
var bx0 = b.x;
|
||||||
|
var bx1 = b.x + b.width;
|
||||||
|
var by0 = b.y;
|
||||||
|
var by1 = b.y + b.height;
|
||||||
|
|
||||||
|
return !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);
|
||||||
|
}
|
||||||
|
|
||||||
|
contain (rect, x, y) {
|
||||||
|
return x >= rect.x &&
|
||||||
|
x <= (rect.x + rect.width) &&
|
||||||
|
y >= rect.y &&
|
||||||
|
y <= (rect.y + rect.height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MouseController;
|
export default MouseController;
|
||||||
|
@ -29,7 +29,7 @@ class MouseController extends Eventful {
|
|||||||
this.$zr = iscs.getZr();
|
this.$zr = iscs.getZr();
|
||||||
this.isAllowDragging = iscs.isAllowDragging || false; // 是否在绘图中,仅绘图状态下可拖拽
|
this.isAllowDragging = iscs.isAllowDragging || false; // 是否在绘图中,仅绘图状态下可拖拽
|
||||||
this.events = iscs.getEvents();
|
this.events = iscs.getEvents();
|
||||||
// this._dragging = false; // 是否在拖拽状态
|
this._dragging = false; // 是否在拖拽状态
|
||||||
this.deviceList = [];
|
this.deviceList = [];
|
||||||
this.rightClickPoint = {
|
this.rightClickPoint = {
|
||||||
x: 0,
|
x: 0,
|
||||||
@ -75,7 +75,7 @@ class MouseController extends Eventful {
|
|||||||
this.disable();
|
this.disable();
|
||||||
};
|
};
|
||||||
|
|
||||||
// this.isDragging = function () { return this._dragging; };
|
this.isDragging = function () { return this._dragging; };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,14 +92,14 @@ class MouseController extends Eventful {
|
|||||||
this._offsetY = e.offsetY;
|
this._offsetY = e.offsetY;
|
||||||
this._x = e.offsetX;
|
this._x = e.offsetX;
|
||||||
this._y = e.offsetY;
|
this._y = e.offsetY;
|
||||||
// this._dragging = true;
|
this._dragging = true;
|
||||||
console.log(e, e.which);
|
|
||||||
if (e.which === 3) {
|
if (e.which === 3) {
|
||||||
this.handleMouseDownRight(e);
|
this.handleMouseDownRight(e);
|
||||||
} else if (e.which === 1) {
|
} else if (e.which === 1) {
|
||||||
this.handleMouseDownLeft(e);
|
this.handleMouseDownLeft(e);
|
||||||
|
} else if (e.which === 2) {
|
||||||
|
this.handleMouseDownWheel(e);
|
||||||
}
|
}
|
||||||
console.log(this.deviceList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mousemove(e) {
|
mousemove(e) {
|
||||||
@ -119,28 +119,27 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mouseup(e) {
|
mouseup(e) {
|
||||||
console.log(e);
|
|
||||||
if (eventTool.notLeftMouse(e) || !this.eventTarget ) {
|
if (eventTool.notLeftMouse(e) || !this.eventTarget ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// if (this.deviceList.length) {
|
if (this.deviceList.length) {
|
||||||
// this.deviceList.forEach(item => {
|
this.deviceList.forEach(item => {
|
||||||
// item.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
item.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
||||||
// });
|
});
|
||||||
// this.deviceList = [];
|
this.deviceList = [];
|
||||||
// this.$iscs.deleteCheckBox('check_box');
|
this.$iscs.deleteCheckBox('check_box');
|
||||||
// this.eventTarget = '';
|
this.eventTarget = '';
|
||||||
// // this._dragging = false;
|
this._dragging = false;
|
||||||
// this.deviceList = [];
|
this.deviceList = [];
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// if (this.isAllowDragging) {
|
if (this.isAllowDragging) {
|
||||||
// this.eventTarget.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
this.eventTarget.setModel(e.offsetX - this._offsetX, e.offsetY - this._offsetY);
|
||||||
// this.eventTarget.dirty();
|
this.eventTarget.dirty();
|
||||||
// }
|
}
|
||||||
// this.eventTarget = '';
|
this.eventTarget = '';
|
||||||
// // this._dragging = false;
|
this._dragging = false;
|
||||||
// this.deviceList = [];
|
this.deviceList = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
contextmenu(e) {
|
contextmenu(e) {
|
||||||
@ -196,9 +195,6 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
/** 处理鼠标右键按下事件 */
|
/** 处理鼠标右键按下事件 */
|
||||||
handleMouseDownRight(e) {
|
handleMouseDownRight(e) {
|
||||||
this.deviceList = [];
|
|
||||||
this.$iscs.deleteCheckBox('check_box'); // 清空上次操作
|
|
||||||
|
|
||||||
this.rightClickPoint.x = e.offsetX;
|
this.rightClickPoint.x = e.offsetX;
|
||||||
this.rightClickPoint.y = e.offsetY;
|
this.rightClickPoint.y = e.offsetY;
|
||||||
}
|
}
|
||||||
@ -210,6 +206,13 @@ class MouseController extends Eventful {
|
|||||||
this.$iscs.deleteCheckBox('check_box');
|
this.$iscs.deleteCheckBox('check_box');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/** 处理滚轮按下事件 */
|
||||||
|
handleMouseDownWheel(e) {
|
||||||
|
this.deviceList = [];
|
||||||
|
Object.values(this.$iscs.iscsDevice).forEach(item => {
|
||||||
|
this.deviceList.push(item.instance);
|
||||||
|
});
|
||||||
|
}
|
||||||
/** 处理右键拖动事件--- 改变选中区域大小 */
|
/** 处理右键拖动事件--- 改变选中区域大小 */
|
||||||
handleMouseMoveRight(point2) {
|
handleMouseMoveRight(point2) {
|
||||||
const point1 = this.rightClickPoint;
|
const point1 = this.rightClickPoint;
|
||||||
@ -221,25 +224,25 @@ class MouseController extends Eventful {
|
|||||||
}
|
}
|
||||||
/** 处理左键拖动事件--- 图形移动 */
|
/** 处理左键拖动事件--- 图形移动 */
|
||||||
handleMouseMoveLeft(e, dx, dy, oldX, oldY) {
|
handleMouseMoveLeft(e, dx, dy, oldX, oldY) {
|
||||||
// if (!this._moveOnMouseMove || !this._dragging || !this.isAllowDragging) {
|
if (!this._moveOnMouseMove || !this._dragging || !this.isAllowDragging) {
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// 选中区域图形移动
|
// 选中区域图形移动
|
||||||
// if (this.deviceList.length) {
|
if (this.deviceList.length) {
|
||||||
// this.deviceList.forEach(item => {
|
this.deviceList.forEach(item => {
|
||||||
// item.grouper.drift(dx, dy, e);
|
item.grouper.drift(dx, dy, e);
|
||||||
// });
|
});
|
||||||
// } else if (this._dragging && this.eventTarget) { // 选中元素图形移动
|
} else if (this._dragging && this.eventTarget) { // 选中元素图形移动
|
||||||
// if (!this.isAllowDragging) {
|
if (!this.isAllowDragging) {
|
||||||
// this._preventDefaultMouseMove && eventTool.stop(e.event);
|
this._preventDefaultMouseMove && eventTool.stop(e.event);
|
||||||
// this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
||||||
// } else if (this.isAllowDragging) {
|
} else if (this.isAllowDragging) {
|
||||||
// this.eventTarget.grouper.drift(dx, dy, e);
|
this.eventTarget.grouper.drift(dx, dy, e);
|
||||||
// }
|
}
|
||||||
// } else if (this._dragging) {
|
} else if (this._dragging) {
|
||||||
// this._preventDefaultMouseMove && eventTool.stop(e.event);
|
this._preventDefaultMouseMove && eventTool.stop(e.event);
|
||||||
// this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
this.trigger(this.events.__Pan, { dx, dy, oldX, oldY, newX: this._x, newY: this._y });
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
/** 通过包围盒筛选选中区域的元素 */
|
/** 通过包围盒筛选选中区域的元素 */
|
||||||
handleBoundingRect(eventTarget) {
|
handleBoundingRect(eventTarget) {
|
@ -1,5 +1,5 @@
|
|||||||
import Group from 'zrender/src/container/Group';
|
import Group from 'zrender/src/container/Group';
|
||||||
import Text from 'zrender/src/graphic/Text';
|
// import Text from 'zrender/src/graphic/Text';
|
||||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
import Line from 'zrender/src/graphic/shape/Line';
|
import Line from 'zrender/src/graphic/shape/Line';
|
||||||
import PsdClose from './psdClose';
|
import PsdClose from './psdClose';
|
||||||
|
@ -190,7 +190,8 @@ export function StationStandList() {
|
|||||||
|
|
||||||
if(jlmapstanddata[j].code == standsdata[i].direction1.code){
|
if(jlmapstanddata[j].code == standsdata[i].direction1.code){
|
||||||
if(standsdata[i].code != "Station96090"){
|
if(standsdata[i].code != "Station96090"){
|
||||||
if(jlmapstanddata[j].inside == true){
|
|
||||||
|
if(standsdata[i].inside == true){
|
||||||
newstationmesh = assetloader.modellist[num].mesh.clone(true);
|
newstationmesh = assetloader.modellist[num].mesh.clone(true);
|
||||||
}else{
|
}else{
|
||||||
newstationmesh = assetloader.modellist[num2].mesh.clone(true);
|
newstationmesh = assetloader.modellist[num2].mesh.clone(true);
|
||||||
@ -202,7 +203,7 @@ export function StationStandList() {
|
|||||||
newstationstand.direction1.name = standsdata[i].direction1.name;
|
newstationstand.direction1.name = standsdata[i].direction1.name;
|
||||||
newstationstand.direction2.code = standsdata[i].direction2.code;
|
newstationstand.direction2.code = standsdata[i].direction2.code;
|
||||||
newstationstand.direction2.name = standsdata[i].direction2.name;
|
newstationstand.direction2.name = standsdata[i].direction2.name;
|
||||||
newstationstand.inside = jlmapstanddata[j].inside;
|
newstationstand.inside = standsdata[i].inside;
|
||||||
// console.log(standsdata[i]);
|
// console.log(standsdata[i]);
|
||||||
newstationmesh.position.x = standsdata[i].position.x;
|
newstationmesh.position.x = standsdata[i].position.x;
|
||||||
newstationmesh.position.y = standsdata[i].position.y;
|
newstationmesh.position.y = standsdata[i].position.y;
|
||||||
|
@ -129,3 +129,12 @@ export function trainSimulationAto(group,groupNumber) {
|
|||||||
params: ''
|
params: ''
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//换端
|
||||||
|
export function trainSimulationChangeHead(group,groupNumber) {
|
||||||
|
return request({
|
||||||
|
url: `/simulation/driving/${group}/train/${groupNumber}/changeHead`,
|
||||||
|
method: 'put',
|
||||||
|
params: ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -42,7 +42,9 @@ var clock = new THREE.Clock();
|
|||||||
export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,project) {
|
export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,project) {
|
||||||
|
|
||||||
let scope = this;
|
let scope = this;
|
||||||
|
let stats =null;
|
||||||
|
// let stats = new Stats();
|
||||||
|
// dom.appendChild( stats.dom );
|
||||||
//界面更新函数
|
//界面更新函数
|
||||||
let updatemmi = {};
|
let updatemmi = {};
|
||||||
this.dom = dom;
|
this.dom = dom;
|
||||||
@ -232,9 +234,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
|
|||||||
// getPublish3dMapDetail(mapId).then(netdata => {
|
// getPublish3dMapDetail(mapId).then(netdata => {
|
||||||
// DriverLoad(data, scope, netdata.data, sectionlist,linklist,signallist,stationstandlist,trainlisttest,realsectionlist,rails, camera, controls3, scene,mixers,storemod);
|
// DriverLoad(data, scope, netdata.data, sectionlist,linklist,signallist,stationstandlist,trainlisttest,realsectionlist,rails, camera, controls3, scene,mixers,storemod);
|
||||||
// });
|
// });
|
||||||
let stats =null;
|
|
||||||
// let stats = new Stats();
|
|
||||||
// dom.appendChild( stats.dom );
|
|
||||||
// 开启渲染
|
// 开启渲染
|
||||||
animate();
|
animate();
|
||||||
startWorker();
|
startWorker();
|
||||||
@ -269,9 +269,6 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
|
|||||||
controls3.getObject().position.x = trainlisttest.list[drivingcode].matrixWorld.elements[12]-27;
|
controls3.getObject().position.x = trainlisttest.list[drivingcode].matrixWorld.elements[12]-27;
|
||||||
controls3.getObject().position.y=5;
|
controls3.getObject().position.y=5;
|
||||||
controls3.getObject().position.z = trainlisttest.list[drivingcode].children[0].matrixWorld.elements[14];
|
controls3.getObject().position.z = trainlisttest.list[drivingcode].children[0].matrixWorld.elements[14];
|
||||||
|
|
||||||
// console.log(controls3);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,11 +94,11 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
|
|||||||
// 对象化数据
|
// 对象化数据
|
||||||
|
|
||||||
let data = JSON.parse(Response.body);
|
let data = JSON.parse(Response.body);
|
||||||
|
// stats.update();
|
||||||
// 遍历后台数据
|
// 遍历后台数据
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
if(data.type == "Train_Position"){
|
if(data.type == "Train_Position"){
|
||||||
// stats.update();
|
|
||||||
|
|
||||||
trainrun(data.body);
|
trainrun(data.body);
|
||||||
return;
|
return;
|
||||||
|
@ -256,6 +256,9 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
|
|||||||
if (data.type == "SWITCH") {
|
if (data.type == "SWITCH") {
|
||||||
scope.modelmanager.switchmodel.normalPosition = "0";
|
scope.modelmanager.switchmodel.normalPosition = "0";
|
||||||
scope.showmodel = scope.modelmanager.switchmodel.mesh;
|
scope.showmodel = scope.modelmanager.switchmodel.mesh;
|
||||||
|
scope.devicetext.initdevicetext(scope.modelmanager.switchmodel.mesh);
|
||||||
|
scope.nowobject = scope.modelmanager.switchmodel.mesh;
|
||||||
|
updatemenulist(scope.devicetext.devicelist);
|
||||||
scope.scene.add(scope.showmodel);
|
scope.scene.add(scope.showmodel);
|
||||||
// if (data.normalPosition == "0") {
|
// if (data.normalPosition == "0") {
|
||||||
// scope.modelmanager.switchmodel.normalPosition = "0";
|
// scope.modelmanager.switchmodel.normalPosition = "0";
|
||||||
|
@ -3,14 +3,10 @@ import { getBaseUrl } from '@/utils/baseUrl'
|
|||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
|
|
||||||
// 定于仿真socket接口
|
// 定于仿真socket接口
|
||||||
export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,routegroup) {
|
export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegroup) {
|
||||||
const scope = this;
|
const scope = this;
|
||||||
|
|
||||||
this.controlstation = nowstation;
|
|
||||||
this.teststomp = new StompClient();
|
this.teststomp = new StompClient();
|
||||||
|
|
||||||
let traintopnow = null;
|
|
||||||
let traindownnow = null;
|
|
||||||
let topic = '/user/queue/simulation/jl3d/'+routegroup;
|
let topic = '/user/queue/simulation/jl3d/'+routegroup;
|
||||||
let header = {'X-Token': getToken() };
|
let header = {'X-Token': getToken() };
|
||||||
|
|
||||||
@ -33,9 +29,8 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
function callback(Response) {
|
function callback(Response) {
|
||||||
const data = JSON.parse(Response.body);
|
const data = JSON.parse(Response.body);
|
||||||
if(data.type == "DeviceCtrl_3D"){
|
if(data.type == "DeviceCtrl_3D"){
|
||||||
//PS:目前模型车门位置颠倒!!!!!!!!!!!!!!!
|
|
||||||
if(data.body.type == "PSD"){
|
if(data.body.type == "PSD"){
|
||||||
if(data.body.code == nowstation.toppsd){
|
if(data.body.code == jl3dpass.nowstation.toppsd){
|
||||||
if(data.body.open == 0){
|
if(data.body.open == 0){
|
||||||
|
|
||||||
deviceaction.top.action.reset();
|
deviceaction.top.action.reset();
|
||||||
@ -43,19 +38,21 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
deviceaction.top.action.timeScale = -1;
|
deviceaction.top.action.timeScale = -1;
|
||||||
deviceaction.top.action.play();
|
deviceaction.top.action.play();
|
||||||
}else{
|
}else{
|
||||||
|
jl3dpass.passerout("top")
|
||||||
deviceaction.top.action.reset();
|
deviceaction.top.action.reset();
|
||||||
deviceaction.top.action.time = 0;
|
deviceaction.top.action.time = 0;
|
||||||
deviceaction.top.action.timeScale = 1;
|
deviceaction.top.action.timeScale = 1;
|
||||||
deviceaction.top.action.play();
|
deviceaction.top.action.play();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(data.body.code == nowstation.downpsd){
|
if(data.body.code == jl3dpass.nowstation.downpsd){
|
||||||
if(data.body.open == 0){
|
if(data.body.open == 0){
|
||||||
deviceaction.down.action.reset();
|
deviceaction.down.action.reset();
|
||||||
deviceaction.down.action.time = deviceaction.down.action._clip.duration;
|
deviceaction.down.action.time = deviceaction.down.action._clip.duration;
|
||||||
deviceaction.down.action.timeScale = -1;
|
deviceaction.down.action.timeScale = -1;
|
||||||
deviceaction.down.action.play();
|
deviceaction.down.action.play();
|
||||||
}else{
|
}else{
|
||||||
|
jl3dpass.passerout("down");
|
||||||
deviceaction.down.action.reset();
|
deviceaction.down.action.reset();
|
||||||
deviceaction.down.action.time = 0;
|
deviceaction.down.action.time = 0;
|
||||||
deviceaction.down.action.timeScale = 1;
|
deviceaction.down.action.timeScale = 1;
|
||||||
@ -65,23 +62,27 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(data.body.type == "TRAIN_DOOR"){
|
if(data.body.type == "TRAIN_DOOR"){
|
||||||
if(traintopnow == data.body.code){
|
if(toptrain.nowcode == data.body.code){
|
||||||
|
|
||||||
if(data.body.open == "0"){
|
if(data.body.open == "0"){
|
||||||
closetraindoor(toptrain,data.body.doorCode,"top");
|
closetraindoor(toptrain,data.body.doorCode,"top");
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
opentraindoor(toptrain,data.body.doorCode,"top");
|
opentraindoor(toptrain,data.body.doorCode,"top");
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(traindownnow == data.body.code){
|
if(downtrain.nowcode == data.body.code){
|
||||||
// console.log(data.body);
|
// console.log(data.body);
|
||||||
if(data.body.open == "0"){
|
if(data.body.open == "0"){
|
||||||
closetraindoor(downtrain,data.body.doorCode,"down");
|
closetraindoor(downtrain,data.body.doorCode,"down");
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
opentraindoor(downtrain,data.body.doorCode,"down");
|
opentraindoor(downtrain,data.body.doorCode,"down");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,10 +90,9 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
if(data.type == "TrainRun_3D"){
|
if(data.type == "TrainRun_3D"){
|
||||||
|
|
||||||
for(let i=0,leni = data.body.length;i<leni;i++){
|
for(let i=0,leni = data.body.length;i<leni;i++){
|
||||||
if(data.body[i].section == scope.controlstation.topsection){
|
if(data.body[i].section == jl3dpass.nowstation.topsection){
|
||||||
console.log("top:"+data.body[i].offset);
|
if(toptrain.nowcode != data.body[i].code){
|
||||||
if(traintopnow != data.body[i].code){
|
toptrain.nowcode = data.body[i].code;
|
||||||
traintopnow = data.body[i].code;
|
|
||||||
}
|
}
|
||||||
toptrain.position.copy(toptrain.curve.getPointAt(data.body[i].offset));
|
toptrain.position.copy(toptrain.curve.getPointAt(data.body[i].offset));
|
||||||
|
|
||||||
@ -101,21 +101,20 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
}else{
|
}else{
|
||||||
if(traindownnow == data.body[i].code){
|
if(downtrain.nowcode == data.body[i].code){
|
||||||
toptrain.position.x -= 1;
|
toptrain.position.x -= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(data.body[i].section == scope.controlstation.downsection){
|
if(data.body[i].section == jl3dpass.nowstation.downsection){
|
||||||
console.log("down:"+data.body[i].offset);
|
if(downtrain.nowcode != data.body[i].code){
|
||||||
if(traindownnow != data.body[i].code){
|
downtrain.nowcode = data.body[i].code;
|
||||||
traindownnow = data.body[i].code;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
downtrain.position.copy(downtrain.curve.getPointAt(data.body[i].offset));
|
downtrain.position.copy(downtrain.curve.getPointAt(data.body[i].offset));
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(traindownnow == data.body[i].code){
|
if(downtrain.nowcode == data.body[i].code){
|
||||||
downtrain.position.x += 1;
|
downtrain.position.x += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -152,22 +151,23 @@ export function PassflowConnect(nowstation,deviceaction,toptrain,downtrain,route
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function closetraindoor(train,doorcode,direct){
|
function closetraindoor(train,doorcode,direct){
|
||||||
|
|
||||||
if(direct == "top"){
|
if(direct == "top"){
|
||||||
if(doorcode == "1"){
|
if(doorcode == "1"){
|
||||||
actions = train.action.down;
|
actions = train.action.down;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(doorcode == "2"){
|
if(doorcode == "2"){
|
||||||
actions = train.action.top;
|
actions = train.action.top;
|
||||||
}
|
}
|
||||||
|
toptrain.nowcode = null;
|
||||||
}else{
|
}else{
|
||||||
if(doorcode == "1"){
|
if(doorcode == "1"){
|
||||||
actions = train.action.top;
|
actions = train.action.top;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(doorcode == "2"){
|
if(doorcode == "2"){
|
||||||
actions = train.action.down;
|
actions = train.action.down;
|
||||||
}
|
}
|
||||||
|
downtrain.nowcode = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(let an=actions.length-1;an>=0;an--){
|
for(let an=actions.length-1;an>=0;an--){
|
||||||
|
@ -19,20 +19,21 @@ import StompClient from '@/utils/sock';
|
|||||||
import { Loading } from 'element-ui';
|
import { Loading } from 'element-ui';
|
||||||
|
|
||||||
// const Pathfinding = window.threePathfinding.Pathfinding;
|
// const Pathfinding = window.threePathfinding.Pathfinding;
|
||||||
var clock = new THREE.Clock();
|
let clock = new THREE.Clock();
|
||||||
let delta;
|
let delta;
|
||||||
let scene,camerass,renderer;
|
let scene,camerass,renderer;
|
||||||
let rendermode = 0;
|
let rendermode = 0;
|
||||||
|
let aiswitch = 0;
|
||||||
|
|
||||||
var mixers = [];
|
let mixers = [];
|
||||||
var testmesh1,testmesh2;
|
let testmesh1,testmesh2;
|
||||||
var humans = [];
|
let humans = [];
|
||||||
var checkdoor1 = [];
|
let checkdoor1 = [];
|
||||||
var checkdoor2 = [];
|
let checkdoor2 = [];
|
||||||
var station;
|
let station;
|
||||||
var zhajiinmodel;
|
let zhajiinmodel;
|
||||||
var zhajioutmodel;
|
let zhajioutmodel;
|
||||||
var monitor;
|
let monitor;
|
||||||
let ids = 0;
|
let ids = 0;
|
||||||
|
|
||||||
let humanlist = new THREE.Group();
|
let humanlist = new THREE.Group();
|
||||||
@ -101,9 +102,9 @@ for(let i=0;i<22;i++){
|
|||||||
stationright.push(sr);
|
stationright.push(sr);
|
||||||
}
|
}
|
||||||
|
|
||||||
var windowWidth = window.innerWidth ;
|
let windowWidth = window.innerWidth ;
|
||||||
var windowHeight = window.innerHeight;
|
let windowHeight = window.innerHeight;
|
||||||
var views = [
|
let views4 = [
|
||||||
{
|
{
|
||||||
left: 0,
|
left: 0,
|
||||||
bottom: 0,
|
bottom: 0,
|
||||||
@ -146,9 +147,30 @@ var views = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
let views2 = [
|
||||||
|
{
|
||||||
|
left: 0,
|
||||||
|
bottom: 0,
|
||||||
|
width: 0.5,
|
||||||
|
height: 1,
|
||||||
|
background: new THREE.Color( 0.5, 0.5, 0.7 ),
|
||||||
|
eye: [ 3.7, 16, 26 ],
|
||||||
|
up: [3.7, 10 ,16 ],
|
||||||
|
fov: 60
|
||||||
|
},
|
||||||
|
{
|
||||||
|
left: 0.5,
|
||||||
|
bottom: 0,
|
||||||
|
width: 0.5,
|
||||||
|
height: 1,
|
||||||
|
background: new THREE.Color( 0.7, 0.5, 0.5 ),
|
||||||
|
eye: [ -60, 6,11],
|
||||||
|
up: [ -59, 5.9,11 ],
|
||||||
|
fov: 60
|
||||||
|
},
|
||||||
|
];
|
||||||
export function Jl3dpassflow(dom,skinCode,routegroup) {
|
export function Jl3dpassflow(dom,skinCode,routegroup) {
|
||||||
var scope = this;
|
let scope = this;
|
||||||
|
|
||||||
this.dom = dom;
|
this.dom = dom;
|
||||||
this.nowcode = null;
|
this.nowcode = null;
|
||||||
@ -171,10 +193,19 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
camerass.aspect = dom.offsetWidth / dom.offsetHeight;
|
camerass.aspect = dom.offsetWidth / dom.offsetHeight;
|
||||||
camerass.updateProjectionMatrix();
|
camerass.updateProjectionMatrix();
|
||||||
|
|
||||||
for ( var ii = 0; ii < views.length; ++ ii ) {
|
for ( let ii = 0; ii < views4.length; ++ ii ) {
|
||||||
|
|
||||||
var view = views[ ii ];
|
let view = views4[ ii ];
|
||||||
var camera = new THREE.PerspectiveCamera( view.fov, window.innerWidth / window.innerHeight, 1, 200 );
|
let camera = new THREE.PerspectiveCamera( view.fov, window.innerWidth / window.innerHeight, 1, 200 );
|
||||||
|
camera.position.fromArray( view.eye );
|
||||||
|
camera.lookAt( view.up[0],view.up[1],view.up[2] );
|
||||||
|
view.camera = camera;
|
||||||
|
|
||||||
|
}
|
||||||
|
for ( let ii = 0; ii < views2.length; ++ ii ) {
|
||||||
|
|
||||||
|
let view = views2[ ii ];
|
||||||
|
let camera = new THREE.PerspectiveCamera( view.fov, window.innerWidth / window.innerHeight, 1, 200 );
|
||||||
camera.position.fromArray( view.eye );
|
camera.position.fromArray( view.eye );
|
||||||
camera.lookAt( view.up[0],view.up[1],view.up[2] );
|
camera.lookAt( view.up[0],view.up[1],view.up[2] );
|
||||||
view.camera = camera;
|
view.camera = camera;
|
||||||
@ -187,12 +218,12 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
scene = new THREE.Scene();
|
scene = new THREE.Scene();
|
||||||
scene.background = new THREE.Color(0xa0a0a0);
|
scene.background = new THREE.Color(0xa0a0a0);
|
||||||
|
|
||||||
var mesh = new THREE.Mesh(new THREE.PlaneBufferGeometry(200, 200), new THREE.MeshPhongMaterial({ color: 0x999999, depthWrite: false }));
|
let mesh = new THREE.Mesh(new THREE.PlaneBufferGeometry(200, 200), new THREE.MeshPhongMaterial({ color: 0x999999, depthWrite: false }));
|
||||||
mesh.rotation.x = - Math.PI / 2;
|
mesh.rotation.x = - Math.PI / 2;
|
||||||
mesh.receiveShadow = true;
|
mesh.receiveShadow = true;
|
||||||
scene.add(mesh);
|
scene.add(mesh);
|
||||||
|
|
||||||
var grid = new THREE.GridHelper(200, 20, 0x000000, 0x000000);
|
let grid = new THREE.GridHelper(200, 20, 0x000000, 0x000000);
|
||||||
grid.material.opacity = 0.2;
|
grid.material.opacity = 0.2;
|
||||||
grid.material.transparent = true;
|
grid.material.transparent = true;
|
||||||
scene.add(grid);
|
scene.add(grid);
|
||||||
@ -203,7 +234,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
scene.add(ambientLight);
|
scene.add(ambientLight);
|
||||||
|
|
||||||
//
|
//
|
||||||
// var spotLight = new THREE.SpotLight(0xffffff);
|
// let spotLight = new THREE.SpotLight(0xffffff);
|
||||||
// spotLight.position.set(-50, 60, 15);
|
// spotLight.position.set(-50, 60, 15);
|
||||||
// spotLight.castShadow = true;
|
// spotLight.castShadow = true;
|
||||||
// spotLight.shadow.mapSize.width = 1024;
|
// spotLight.shadow.mapSize.width = 1024;
|
||||||
@ -239,10 +270,15 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
let mouse = new THREE.Vector2();
|
let mouse = new THREE.Vector2();
|
||||||
let raycaster = new THREE.Raycaster();
|
let raycaster = new THREE.Raycaster();
|
||||||
|
|
||||||
|
//上车控制开关
|
||||||
|
let toppasserin = false;
|
||||||
|
let downpasserin = false;
|
||||||
|
//下车控制开关
|
||||||
|
let toppasseron = false;
|
||||||
|
let downpasseron = false;
|
||||||
|
|
||||||
|
|
||||||
|
let loader = new THREE.OBJLoader();
|
||||||
var loader = new THREE.OBJLoader();
|
|
||||||
|
|
||||||
// load a resource
|
// load a resource
|
||||||
loader.load(
|
loader.load(
|
||||||
@ -285,7 +321,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
document.addEventListener( 'mouseup', onDocumentMouseUp, false );
|
// document.addEventListener( 'mouseup', onDocumentMouseUp, false );
|
||||||
|
|
||||||
function onDocumentMouseUp (event) {
|
function onDocumentMouseUp (event) {
|
||||||
|
|
||||||
@ -366,12 +402,12 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
this.modelmanager = new ModelManager();
|
this.modelmanager = new ModelManager();
|
||||||
let loadingInstance = Loading.service({ fullscreen: true });
|
let loadingInstance = Loading.service({ fullscreen: true });
|
||||||
|
|
||||||
let nowstation = null;
|
this.nowstation = null;
|
||||||
let stationlist = [];
|
let stationlist = [];
|
||||||
let socktest = null;
|
let socktest = null;
|
||||||
|
|
||||||
this.modelmanager.loadpromise(Staticmodel, scope.mixers).then(function (data) {
|
this.modelmanager.loadpromise(Staticmodel, scope.mixers).then(function (data) {
|
||||||
console.log(scope.modelmanager);
|
// console.log(scope.modelmanager);
|
||||||
initstationanimation(scope.modelmanager.station.mesh);
|
initstationanimation(scope.modelmanager.station.mesh);
|
||||||
initzhajiinaimation(scope.modelmanager.zhajiin.mesh);
|
initzhajiinaimation(scope.modelmanager.zhajiin.mesh);
|
||||||
initzhajioutanimation(scope.modelmanager.zhajiout.mesh);
|
initzhajioutanimation(scope.modelmanager.zhajiout.mesh);
|
||||||
@ -391,41 +427,35 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
loadingInstance.close();
|
loadingInstance.close();
|
||||||
|
|
||||||
scope.switchrender(false);
|
scope.switchviews(4);
|
||||||
|
|
||||||
|
|
||||||
getPublishMapDetail(skinCode).then(netdata => {
|
getPublishMapDetail(skinCode).then(netdata => {
|
||||||
// console.log(netdata);
|
|
||||||
initstationlist(netdata.data.stationList,netdata.data.stationStandList,netdata.data.psdList);
|
initstationlist(netdata.data.stationList,netdata.data.stationStandList,netdata.data.psdList);
|
||||||
socktest = new PassflowConnect(nowstation,deviceaction,toptrain,downtrain,routegroup);
|
socktest = new PassflowConnect(scope,deviceaction,toptrain,downtrain,routegroup);
|
||||||
});
|
});
|
||||||
|
|
||||||
animate();
|
animate();
|
||||||
})
|
})
|
||||||
|
|
||||||
function inithumans(){
|
function inithumans(){
|
||||||
|
|
||||||
originhuman1 = scope.modelmanager.man1.mesh;
|
originhuman1 = scope.modelmanager.man1.mesh;
|
||||||
originhuman1.progress = 1;
|
originhuman1.progress = 1;
|
||||||
scene.add(originhuman1);
|
// scene.add(originhuman1);
|
||||||
originhuman2 = scope.modelmanager.man2.mesh;
|
originhuman2 = scope.modelmanager.man2.mesh;
|
||||||
|
|
||||||
let mixer1 = new THREE.AnimationMixer( originhuman1 );
|
let mixer1 = new THREE.AnimationMixer( originhuman1 );
|
||||||
let mixer2 = new THREE.AnimationMixer( originhuman2 );
|
let mixer2 = new THREE.AnimationMixer( originhuman2 );
|
||||||
originanima1 = originhuman1.animations[ 0 ];
|
originanima1 = originhuman1.animations[ 0 ];
|
||||||
originanima2 = originhuman2.animations[ 0 ];
|
originanima2 = originhuman2.animations[ 0 ];
|
||||||
originhuman1.remove(originhuman1.children[2]);
|
originhuman1.remove(originhuman1.children[2]);
|
||||||
scene.add(humanlist);
|
scene.add(humanlist);
|
||||||
scene.add(scope.modelmanager.man1.mesh);
|
// scene.add(scope.modelmanager.man1.mesh);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let checkobject = setInterval(function(){
|
let checkobject = setInterval(function(){
|
||||||
// console.log(originhuman1);
|
// console.log(originhuman1);
|
||||||
if(originhuman1){
|
if(originhuman1){
|
||||||
console.log("start");
|
|
||||||
clearInterval(checkobject);
|
clearInterval(checkobject);
|
||||||
//进站控制
|
//进站控制
|
||||||
startWorker();
|
startWorker();
|
||||||
@ -434,11 +464,126 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
},1000);
|
},1000);
|
||||||
|
this.changestation = function(stationname){
|
||||||
|
for(let i=0,leni=stationlist.length;i<leni;i++){
|
||||||
|
if(stationlist[i].name == stationname){
|
||||||
|
scope.nowstation = stationlist[i];
|
||||||
|
scope.resetscene();
|
||||||
|
|
||||||
|
i=leni;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.resetscene = function(){
|
||||||
|
aiswitch = 1;
|
||||||
|
toppasserin = false;
|
||||||
|
downpasserin = false;
|
||||||
|
//下车控制开关
|
||||||
|
toppasseron = false;
|
||||||
|
downpasseron = false;
|
||||||
|
|
||||||
|
toptrain.nowcode = null;
|
||||||
|
downtrain.nowcode = null;
|
||||||
|
// humanlist = new THREE.Group();
|
||||||
|
for(let j=0; j<humanlist.children.length;j++){
|
||||||
|
// scope.uncache(humanlist.children[j]);
|
||||||
|
|
||||||
|
humanlist.remove(humanlist.children[j]);
|
||||||
|
j--;
|
||||||
|
// j--;
|
||||||
|
}
|
||||||
|
toptrain.position.y = -20000;
|
||||||
|
downtrain.position.y = -20000;
|
||||||
|
|
||||||
|
deviceaction.down.action.reset();
|
||||||
|
deviceaction.down.action.time = deviceaction.down.action._clip.duration;
|
||||||
|
deviceaction.down.action.timeScale = -1;
|
||||||
|
deviceaction.down.action.play();
|
||||||
|
|
||||||
|
deviceaction.top.action.reset();
|
||||||
|
deviceaction.top.action.time = deviceaction.down.action._clip.duration;
|
||||||
|
deviceaction.top.action.timeScale = -1;
|
||||||
|
deviceaction.top.action.play();
|
||||||
|
for(let an=toptrain.action.top.length-1;an>=0;an--){
|
||||||
|
toptrain.action.top[an].reset();
|
||||||
|
toptrain.action.top[an].time = toptrain.action.top[an]._clip.duration;
|
||||||
|
toptrain.action.top[an].timeScale = -1;
|
||||||
|
toptrain.action.top[an].play();
|
||||||
|
}
|
||||||
|
for(let an=toptrain.action.down.length-1;an>=0;an--){
|
||||||
|
toptrain.action.down[an].reset();
|
||||||
|
toptrain.action.down[an].time = toptrain.action.down[an]._clip.duration;
|
||||||
|
toptrain.action.down[an].timeScale = -1;
|
||||||
|
toptrain.action.down[an].play();
|
||||||
|
}
|
||||||
|
// for(let an=actions.length-1;an>=0;an--){
|
||||||
|
// actions[an].reset();
|
||||||
|
// actions[an].time = actions[an]._clip.duration;
|
||||||
|
// actions[an].timeScale = -1;
|
||||||
|
// actions[an].play();
|
||||||
|
// }
|
||||||
|
setTimeout(function(){
|
||||||
|
initpasser();
|
||||||
|
aiswitch = 0;
|
||||||
|
}, 2000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this.uncache = function(uncachemodel){
|
||||||
|
if(uncachemodel){
|
||||||
|
uncachemodel.mixer.uncacheAction();
|
||||||
|
uncachemodel.traverse( function ( child ) {
|
||||||
|
if ( child.isMesh ) {
|
||||||
|
child.geometry.dispose();
|
||||||
|
child.material.dispose();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this.passerout = function(direct){
|
||||||
|
// console.log(direct);
|
||||||
|
if(direct == "top"){
|
||||||
|
// console.log("toppasser");
|
||||||
|
// console.log(stationzon.list["standtop"]);
|
||||||
|
toppasseron = true;
|
||||||
|
setTimeout(function(){
|
||||||
|
toppasseron = false
|
||||||
|
toppasserin = true;
|
||||||
|
|
||||||
|
setTimeout(function(){
|
||||||
|
toppasserin = false;
|
||||||
|
}, 20000);
|
||||||
|
}, 5000);
|
||||||
|
}
|
||||||
|
if(direct == "down"){
|
||||||
|
// console.log("downpasser");
|
||||||
|
// console.log(stationzon.list["standdown"]);
|
||||||
|
downpasseron = true;
|
||||||
|
setTimeout(function(){
|
||||||
|
downpasseron = false;
|
||||||
|
downpasserin = true;
|
||||||
|
setTimeout(function(){
|
||||||
|
downpasserin = false;
|
||||||
|
}, 20000);
|
||||||
|
}, 5000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.switchviews = function(viewmode){
|
||||||
|
if(viewmode == 4){
|
||||||
|
rendermode = 4;
|
||||||
|
}
|
||||||
|
if(viewmode == 2){
|
||||||
|
rendermode = 2;
|
||||||
|
}
|
||||||
|
if(viewmode == 1){
|
||||||
|
rendermode = 1;
|
||||||
|
}
|
||||||
|
if(viewmode == "auto"){
|
||||||
|
|
||||||
this.switchrender = function(mode){
|
|
||||||
if(mode){
|
|
||||||
rendermode = 0;
|
rendermode = 0;
|
||||||
renderer.setViewport( 0, 0, scope.dom.offsetWidth, scope.dom.offsetHeight );
|
renderer.setViewport( 0, 0, scope.dom.offsetWidth, scope.dom.offsetHeight );
|
||||||
renderer.setScissor( 0, 0, scope.dom.offsetWidth, scope.dom.offsetHeight );
|
renderer.setScissor( 0, 0, scope.dom.offsetWidth, scope.dom.offsetHeight );
|
||||||
@ -446,8 +591,6 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
renderer.setSize(scope.dom.offsetWidth, scope.dom.offsetHeight);
|
renderer.setSize(scope.dom.offsetWidth, scope.dom.offsetHeight);
|
||||||
camerass.aspect = dom.offsetWidth / dom.offsetHeight;
|
camerass.aspect = dom.offsetWidth / dom.offsetHeight;
|
||||||
camerass.updateProjectionMatrix();
|
camerass.updateProjectionMatrix();
|
||||||
}else{
|
|
||||||
rendermode = 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,22 +606,25 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
for(let i=0;i<3;i++){
|
for(let i=0;i<3;i++){
|
||||||
newhumancreate(stationzon.getinitposition("security"),1);
|
newhumancreate(stationzon.getinitposition("security"),1);
|
||||||
}
|
}
|
||||||
for(let i=0;i<2;i++){
|
// for(let i=0;i<2;i++){
|
||||||
newhumancreate(stationzon.getinitposition("entergate"),2);
|
// // newhumancreate(stationzon.getinitposition("entergate"),3);
|
||||||
|
// }
|
||||||
|
for(let i=0;i<6;i++){
|
||||||
|
let standdata = stationzon.getstandposition("standtop");
|
||||||
|
newhumancreate(standdata.point,4,"top",standdata.door);
|
||||||
}
|
}
|
||||||
for(let i=0;i<6;i++){
|
for(let i=0;i<6;i++){
|
||||||
newhumancreate(stationzon.getinitposition("standtop"),4);
|
let standdata = stationzon.getstandposition("standdown");
|
||||||
}
|
newhumancreate(standdata.point,4,"down",standdata.door);
|
||||||
for(let i=0;i<6;i++){
|
|
||||||
newhumancreate(stationzon.getinitposition("standdown"),4);
|
|
||||||
}
|
|
||||||
for(let i=0;i<5;i++){
|
|
||||||
newhumancreate(stationzon.getinitposition("exitgate"),4);
|
|
||||||
}
|
}
|
||||||
|
// for(let i=0;i<5;i++){
|
||||||
|
// // newhumancreate(stationzon.getinitposition("exitgate"),6);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
function startWorker(){
|
function startWorker(){
|
||||||
initpasser();
|
initpasser();
|
||||||
passerwebwork.onmessage = function (event) {
|
passerwebwork.onmessage = function (event) {
|
||||||
|
if(aiswitch == 0){
|
||||||
moveanimateupdate();
|
moveanimateupdate();
|
||||||
passerai();
|
passerai();
|
||||||
|
|
||||||
@ -495,12 +641,11 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
humanlist.children[i].mixer.update( delta );
|
humanlist.children[i].mixer.update( delta );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
stationwebwork.onmessage = function (event) {
|
stationwebwork.onmessage = function (event) {
|
||||||
// console.log("stationwebwork");
|
if(aiswitch == 0){
|
||||||
// if(humans.length<200){
|
let direct = Math.floor(Math.random()*(3-1+1))+1;
|
||||||
var direct = Math.floor(Math.random()*(3-1+1))+1;
|
|
||||||
//1--top
|
//1--top
|
||||||
//2-- down
|
//2-- down
|
||||||
if(direct == 1){
|
if(direct == 1){
|
||||||
@ -509,7 +654,24 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
newhumancreate(stationzon.getzoneposition("enter2"),0);
|
newhumancreate(stationzon.getzoneposition("enter2"),0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// }
|
if(toppasseron){
|
||||||
|
for(let i=0,leni=stationzon.list["standtop"].doorpoints.length;i<leni;i++ ){
|
||||||
|
setTimeout(function(){
|
||||||
|
newhumancreate(stationzon.list["standtop"].doorpoints[i],5,"top",i);
|
||||||
|
}, Math.random()*1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(downpasseron){
|
||||||
|
|
||||||
|
for(let i=0,leni=stationzon.list["standdown"].doorpoints.length;i<leni;i++ ){
|
||||||
|
setTimeout(function(){
|
||||||
|
newhumancreate(stationzon.list["standdown"].doorpoints[i],5,"down",i);
|
||||||
|
}, Math.random()*1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -517,11 +679,17 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
//循环渲染函数
|
//循环渲染函数
|
||||||
function animate() {
|
function animate() {
|
||||||
// console.log(rendermode);
|
// console.log(rendermode);
|
||||||
if(rendermode == 0){
|
if(rendermode == 4){
|
||||||
|
render4view();
|
||||||
|
}else if(rendermode == 2){
|
||||||
|
render2view();
|
||||||
|
}
|
||||||
|
// else if(rendermode == 1){
|
||||||
|
// render4view();
|
||||||
|
// }
|
||||||
|
else if(rendermode == 0){
|
||||||
renderer.render(scene, camerass);
|
renderer.render(scene, camerass);
|
||||||
scope.controls.update();
|
scope.controls.update();
|
||||||
}else{
|
|
||||||
monitorrender();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// delta = clock.getDelta();
|
// delta = clock.getDelta();
|
||||||
@ -535,6 +703,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
// console.log(humans[i]);
|
// console.log(humans[i]);
|
||||||
|
|
||||||
if(humanlist.children[i].status == 0){
|
if(humanlist.children[i].status == 0){
|
||||||
|
//stage = 0 进入车站
|
||||||
if(humanlist.children[i].stage == 0){
|
if(humanlist.children[i].stage == 0){
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
@ -550,30 +719,35 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
// console.log(path);
|
// console.log(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//stage = 1 前往进站闸机
|
||||||
if(humanlist.children[i].stage == 1){
|
if(humanlist.children[i].stage == 1){
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
|
||||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||||
targetPosition = stationzon.getzoneposition("entergate");
|
targetPosition = stationzon.getgateposition("entergate");
|
||||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
path = pathfinder.findPath( points[0], targetPosition.point, ZONE, groupID );
|
||||||
|
humanlist.children[i].door = targetPosition.door;
|
||||||
for(let i=0;i<path.length;i++){
|
for(let i=0;i<path.length;i++){
|
||||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||||
}
|
}
|
||||||
moveanimateinit(humanlist.children[i],i,points,i);
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//stage = 2 过闸机
|
||||||
if(humanlist.children[i].stage == 2){
|
if(humanlist.children[i].stage == 2){
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z-5));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z-5));
|
||||||
// zhajicontrol("in",humans[i].doors);
|
zhajicontrol("in",humanlist.children[i].door);
|
||||||
moveanimateinit(humanlist.children[i],i,points,i);
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//stage = 3 前往站台
|
||||||
if(humanlist.children[i].stage == 3){
|
if(humanlist.children[i].stage == 3){
|
||||||
|
|
||||||
var direct = Math.floor(Math.random()*(3-1+1))+1;
|
let direct = Math.floor(Math.random()*(2))+1;
|
||||||
|
// console.log(direct);
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
// points.push(new THREE.Vector3(11.81,9.8,13.11));
|
// points.push(new THREE.Vector3(11.81,9.8,13.11));
|
||||||
@ -582,12 +756,14 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
//2-- down
|
//2-- down
|
||||||
if(direct == 1){
|
if(direct == 1){
|
||||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||||
targetPosition = stationzon.getzoneposition("standtop");
|
targetPosition = stationzon.getstandposition("standtop");
|
||||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
path = pathfinder.findPath( points[0], targetPosition.point, ZONE, groupID );
|
||||||
|
humanlist.children[i].direct = "top";
|
||||||
}else{
|
}else{
|
||||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||||
targetPosition = stationzon.getzoneposition("standdown");
|
targetPosition = stationzon.getstandposition("standdown");
|
||||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
path = pathfinder.findPath( points[0], targetPosition.point, ZONE, groupID );
|
||||||
|
humanlist.children[i].direct = "down";
|
||||||
}
|
}
|
||||||
if(path[0].y<9.84){
|
if(path[0].y<9.84){
|
||||||
points.push(new THREE.Vector3(11.81,9.8,13.11));
|
points.push(new THREE.Vector3(11.81,9.8,13.11));
|
||||||
@ -597,63 +773,92 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
for(let i=0;i<path.length;i++){
|
for(let i=0;i<path.length;i++){
|
||||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||||
}
|
}
|
||||||
|
humanlist.children[i].door = targetPosition.door;
|
||||||
moveanimateinit(humanlist.children[i],i,points,i);
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
}
|
}
|
||||||
// //出站
|
|
||||||
// if(humanlist.children[i].stage == 3){
|
//stage = 4 上车
|
||||||
// // let points = [];
|
|
||||||
// // points.push(new THREE.Vector3(humans[i].mesh.position.x,humans[i].mesh.position.y,humans[i].mesh.position.z));
|
|
||||||
// // if(humans[i].doors<11){
|
|
||||||
// // if(humans[i].direct == 1){
|
|
||||||
// // points.push(new THREE.Vector3(10,1.7,17));
|
|
||||||
// // }else{
|
|
||||||
// // points.push(new THREE.Vector3(8,1.7,5));
|
|
||||||
// // }
|
|
||||||
// // points.push(new THREE.Vector3(8,1.7,13));
|
|
||||||
// // points.push(new THREE.Vector3(5,1.7,13));
|
|
||||||
// // points.push(new THREE.Vector3(-4,6,13));
|
|
||||||
// // }else{
|
|
||||||
// // if(humans[i].direct == 1){
|
|
||||||
// // points.push(new THREE.Vector3(-19,1.7,17));
|
|
||||||
// // }else{
|
|
||||||
// // points.push(new THREE.Vector3(-18,1.7,6.4));
|
|
||||||
// // }
|
|
||||||
// // points.push(new THREE.Vector3(-18,1.7,13));
|
|
||||||
// // points.push(new THREE.Vector3(-12,1.7,13));
|
|
||||||
// // points.push(new THREE.Vector3(-7,6.8,12));
|
|
||||||
// // }
|
|
||||||
// // points.push(new THREE.Vector3(-5,10,4));
|
|
||||||
// // points.push(new THREE.Vector3(14,10,3));
|
|
||||||
// // var j = Math.floor(Math.random()*(4-1+1))+1;
|
|
||||||
// // points.push(new THREE.Vector3(19,10,-2+j*1.4));
|
|
||||||
// //
|
|
||||||
// // humans[i].doors = j;
|
|
||||||
// // moveanimateinit(humans[i],i,points,i,0.002);
|
|
||||||
// }
|
|
||||||
if(humanlist.children[i].stage == 4){
|
if(humanlist.children[i].stage == 4){
|
||||||
|
if(toppasserin && humanlist.children[i].direct == "top"){
|
||||||
|
|
||||||
|
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
|
||||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
points.push(stationzon.list["standtop"].doorpoints[humanlist.children[i].door]);
|
||||||
targetPosition = stationzon.getzoneposition("exitgate");
|
|
||||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
|
||||||
|
|
||||||
|
if(points[1] == undefined){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(downpasserin && humanlist.children[i].direct == "down"){
|
||||||
|
let points = [];
|
||||||
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
|
||||||
|
points.push(stationzon.list["standdown"].doorpoints[humanlist.children[i].door]);
|
||||||
|
|
||||||
|
if(points[1] == undefined){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
|
}
|
||||||
|
// console.log(points);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//stage = 5 下车
|
||||||
|
if(humanlist.children[i].stage == 5){
|
||||||
|
let points = [];
|
||||||
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
if(humanlist.children[i].direct == "top"){
|
||||||
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z+5));
|
||||||
|
}
|
||||||
|
if(humanlist.children[i].direct == "down"){
|
||||||
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z-5));
|
||||||
|
}
|
||||||
|
groupID = pathfinder.getGroup( ZONE, points[1] );
|
||||||
|
targetPosition = stationzon.getgateposition("exitgate");
|
||||||
|
path = pathfinder.findPath( points[1], targetPosition.point, ZONE, groupID );
|
||||||
|
humanlist.children[i].door = targetPosition.door;
|
||||||
for(let i=0;i<path.length;i++){
|
for(let i=0;i<path.length;i++){
|
||||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||||
}
|
}
|
||||||
moveanimateinit(humanlist.children[i],i,points,i);
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(humanlist.children[i].stage == 5){
|
//stage = 6 前往出站闸机
|
||||||
|
// if(humanlist.children[i].stage == 6){
|
||||||
|
// let points = [];
|
||||||
|
// points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
//
|
||||||
|
// groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||||
|
// targetPosition = stationzon.getgateposition("exitgate");
|
||||||
|
// path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||||
|
//
|
||||||
|
// for(let i=0;i<path.length;i++){
|
||||||
|
// points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||||
|
// }
|
||||||
|
// moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
|
// }
|
||||||
|
|
||||||
|
//stage = 7 出闸机
|
||||||
|
if(humanlist.children[i].stage == 7){
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x+5,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x+5,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
// zhajicontrol("in",humans[i].doors);
|
zhajicontrol("out",humanlist.children[i].door);
|
||||||
moveanimateinit(humanlist.children[i],i,points,i);
|
moveanimateinit(humanlist.children[i],i,points,i);
|
||||||
}
|
}
|
||||||
if(humanlist.children[i].stage == 6){
|
|
||||||
var direct = Math.floor(Math.random()*(3-1+1))+1;
|
//stage = 8 出站
|
||||||
|
if(humanlist.children[i].stage == 8){
|
||||||
|
let direct = Math.floor(Math.random()*(3-1+1))+1;
|
||||||
let points = [];
|
let points = [];
|
||||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||||
|
|
||||||
@ -694,66 +899,54 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
model.action.play();
|
model.action.play();
|
||||||
model.progress = 0;
|
model.progress = 0;
|
||||||
model.runrail = curve;
|
model.runrail = curve;
|
||||||
model.speed = 0.1/curve.getLength();
|
model.speed = 0.2/curve.getLength();
|
||||||
}
|
}
|
||||||
|
|
||||||
function moveanimateupdate(){
|
function moveanimateupdate(){
|
||||||
for(let i=0;i<humanlist.children.length;i++){
|
for(let i=0;i<humanlist.children.length;i++){
|
||||||
if(humanlist.children[i].status == 1){
|
if(humanlist.children[i].status == 1){
|
||||||
if(humanlist.children[i].progress>=1){
|
if(humanlist.children[i].progress>=1){
|
||||||
// let point = humans[i].runrail.curve.getPointAt(1);
|
|
||||||
//更新模型坐标
|
//更新模型坐标
|
||||||
if(humanlist.children[i].status == 1){
|
if(humanlist.children[i].status == 1){
|
||||||
// humanlist.children[i].runrail.enable = false;
|
|
||||||
|
|
||||||
|
|
||||||
// if(humanlist.children[i].stage == 4){
|
|
||||||
//
|
|
||||||
// humanlist.remove(humanlist.children[i].mesh);
|
|
||||||
// // humans.splice(i,1);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
|
|
||||||
humanlist.children[i].progress = 1;
|
humanlist.children[i].progress = 1;
|
||||||
// humanlist.children[i].mixer.runplay = false;
|
|
||||||
humanlist.children[i].action.stop();
|
humanlist.children[i].action.stop();
|
||||||
humanlist.children[i].status = 0;
|
humanlist.children[i].status = 0;
|
||||||
|
|
||||||
if(humanlist.children[i].stage == 6){
|
if(humanlist.children[i].stage == 8){
|
||||||
|
scope.uncache(humanlist.children[i]);
|
||||||
humanlist.remove(humanlist.children[i]);
|
humanlist.remove(humanlist.children[i]);
|
||||||
|
i--;
|
||||||
|
}else if(humanlist.children[i].stage == 7){
|
||||||
|
humanlist.children[i].stage = 8;
|
||||||
|
}
|
||||||
|
// else if(humanlist.children[i].stage == 6){
|
||||||
|
//
|
||||||
// humanlist.children[i].stage = 7;
|
// humanlist.children[i].stage = 7;
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
else if(humanlist.children[i].stage == 5){
|
||||||
|
|
||||||
}
|
humanlist.children[i].stage = 7;
|
||||||
|
|
||||||
if(humanlist.children[i].stage == 5){
|
}else if(humanlist.children[i].stage == 4){
|
||||||
|
scope.uncache(humanlist.children[i]);
|
||||||
humanlist.children[i].stage = 6;
|
humanlist.remove(humanlist.children[i]);
|
||||||
|
i--;
|
||||||
}
|
}else if(humanlist.children[i].stage == 3){
|
||||||
if(humanlist.children[i].stage == 4){
|
|
||||||
|
|
||||||
humanlist.children[i].stage = 5;
|
|
||||||
|
|
||||||
}
|
|
||||||
if(humanlist.children[i].stage == 3){
|
|
||||||
|
|
||||||
humanlist.children[i].stage = 4;
|
humanlist.children[i].stage = 4;
|
||||||
|
|
||||||
}
|
}else if(humanlist.children[i].stage == 2){
|
||||||
//
|
|
||||||
if(humanlist.children[i].stage == 2){
|
|
||||||
humanlist.children[i].stage = 3;
|
humanlist.children[i].stage = 3;
|
||||||
|
|
||||||
}
|
}else if(humanlist.children[i].stage == 1){
|
||||||
|
|
||||||
if(humanlist.children[i].stage == 1){
|
|
||||||
|
|
||||||
|
|
||||||
humanlist.children[i].stage = 2;
|
humanlist.children[i].stage = 2;
|
||||||
|
|
||||||
}
|
}else if(humanlist.children[i].stage == 0){
|
||||||
|
|
||||||
if(humanlist.children[i].stage == 0){
|
|
||||||
// // console.log(humans[i].doors);
|
// // console.log(humans[i].doors);
|
||||||
// zhajiin[humanlist.children[i].doors].waiting = 0;
|
// zhajiin[humanlist.children[i].doors].waiting = 0;
|
||||||
humanlist.children[i].stage = 1;
|
humanlist.children[i].stage = 1;
|
||||||
@ -785,8 +978,8 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function newhumancreate(position,stage,){
|
function newhumancreate(position,stage,direct,door){
|
||||||
var mantype = Math.floor(Math.random()*(3-1+1))+1;
|
let mantype = Math.floor(Math.random()*(3-1+1))+1;
|
||||||
let newhuman;
|
let newhuman;
|
||||||
if(mantype == 1){
|
if(mantype == 1){
|
||||||
newhuman = THREE.SkeletonUtils.clone( originhuman1 );
|
newhuman = THREE.SkeletonUtils.clone( originhuman1 );
|
||||||
@ -803,9 +996,22 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
newhuman.status = 0;
|
newhuman.status = 0;
|
||||||
|
|
||||||
newhuman.stage = stage;
|
newhuman.stage = stage;
|
||||||
|
if(direct){
|
||||||
|
if(direct == "top"){
|
||||||
|
newhuman.rotation.y = Math.PI;
|
||||||
|
}
|
||||||
|
newhuman.direct = direct;
|
||||||
|
}else{
|
||||||
newhuman.direct = null;
|
newhuman.direct = null;
|
||||||
|
}
|
||||||
|
|
||||||
newhuman.doorstatus = null;
|
newhuman.doorstatus = null;
|
||||||
newhuman.doors = null;
|
if(door){
|
||||||
|
newhuman.door = door;
|
||||||
|
}else{
|
||||||
|
newhuman.door = null;
|
||||||
|
}
|
||||||
|
|
||||||
newhuman.action = mixer.clipAction( newhuman.animations[ 0 ] );
|
newhuman.action = mixer.clipAction( newhuman.animations[ 0 ] );
|
||||||
newhuman.mixer = mixer;
|
newhuman.mixer = mixer;
|
||||||
newhuman.runrail = null;
|
newhuman.runrail = null;
|
||||||
@ -862,9 +1068,9 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nowstation = stationlist[0];
|
scope.nowstation = stationlist[0];
|
||||||
updatestationlist(stationlist);
|
updatestationlist(stationlist);
|
||||||
// console.log(nowstation);
|
// console.log(scope.nowstation);
|
||||||
}
|
}
|
||||||
function inittrain(object){
|
function inittrain(object){
|
||||||
let ntracks1,ntracks2,tclip,fclip;
|
let ntracks1,ntracks2,tclip,fclip;
|
||||||
@ -880,6 +1086,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
|
|
||||||
toptrain = object.clone(true);
|
toptrain = object.clone(true);
|
||||||
|
toptrain.nowcode = null;
|
||||||
toptrain.action = {
|
toptrain.action = {
|
||||||
top:[],
|
top:[],
|
||||||
down:[]
|
down:[]
|
||||||
@ -892,6 +1099,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
toptrain.curve = new THREE.CatmullRomCurve3(points1);
|
toptrain.curve = new THREE.CatmullRomCurve3(points1);
|
||||||
|
|
||||||
downtrain = object.clone(true);
|
downtrain = object.clone(true);
|
||||||
|
downtrain.nowcode = null;
|
||||||
downtrain.action = {
|
downtrain.action = {
|
||||||
top:[],
|
top:[],
|
||||||
down:[]
|
down:[]
|
||||||
@ -977,9 +1185,9 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
for(let j=0;j<object.children.length;j++){
|
for(let j=0;j<object.children.length;j++){
|
||||||
|
|
||||||
if(object.children[j].name == "top"){
|
if(object.children[j].name == "top"){
|
||||||
// var geometry = new THREE.BoxBufferGeometry( 50, 50, 50 );
|
// let geometry = new THREE.BoxBufferGeometry( 50, 50, 50 );
|
||||||
// var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
|
// let material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
|
||||||
// var cube = new THREE.Mesh( geometry, material );
|
// let cube = new THREE.Mesh( geometry, material );
|
||||||
// cube.position.copy(object.children[j].position);
|
// cube.position.copy(object.children[j].position);
|
||||||
// scene.add( cube );
|
// scene.add( cube );
|
||||||
object.children[j].animations = [];
|
object.children[j].animations = [];
|
||||||
@ -1222,7 +1430,8 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
function zhajicontrol(type,door){
|
function zhajicontrol(type,door){
|
||||||
// console.log(door);
|
// console.log(door);
|
||||||
// console.log(zhajiin);
|
// console.log(zhajiin);
|
||||||
let devicenum = door-1;
|
|
||||||
|
let devicenum = door;
|
||||||
if(type == "in"){
|
if(type == "in"){
|
||||||
deviceaction[zhajiin[devicenum].id].action.reset();
|
deviceaction[zhajiin[devicenum].id].action.reset();
|
||||||
deviceaction[zhajiin[devicenum].id].action.time = 0;
|
deviceaction[zhajiin[devicenum].id].action.time = 0;
|
||||||
@ -1237,21 +1446,50 @@ export function Jl3dpassflow(dom,skinCode,routegroup) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function monitorrender() {
|
function render4view() {
|
||||||
|
|
||||||
// updateSize();
|
// updateSize();
|
||||||
|
|
||||||
for ( var ii = 0; ii < views.length; ++ ii ) {
|
for ( let ii = 0; ii < views4.length; ++ ii ) {
|
||||||
|
|
||||||
var view = views[ ii ];
|
let view = views4[ ii ];
|
||||||
var camera = view.camera;
|
let camera = view.camera;
|
||||||
|
|
||||||
// view.updateCamera( camera, scene, mouseX, mouseY );
|
// view.updateCamera( camera, scene, mouseX, mouseY );
|
||||||
|
|
||||||
var left = Math.floor( windowWidth * view.left );
|
let left = Math.floor( windowWidth * view.left );
|
||||||
var bottom = Math.floor( windowHeight * view.bottom );
|
let bottom = Math.floor( windowHeight * view.bottom );
|
||||||
var width = Math.floor( windowWidth * view.width );
|
let width = Math.floor( windowWidth * view.width );
|
||||||
var height = Math.floor( windowHeight * view.height );
|
let height = Math.floor( windowHeight * view.height );
|
||||||
|
|
||||||
|
renderer.setViewport( left, bottom, width, height );
|
||||||
|
renderer.setScissor( left, bottom, width, height );
|
||||||
|
renderer.setScissorTest( true );
|
||||||
|
|
||||||
|
camera.aspect = width / height;
|
||||||
|
camera.updateProjectionMatrix();
|
||||||
|
|
||||||
|
renderer.render( scene, camera );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function render2view() {
|
||||||
|
|
||||||
|
// updateSize();
|
||||||
|
|
||||||
|
for ( let ii = 0; ii < views2.length; ++ ii ) {
|
||||||
|
|
||||||
|
let view = views2[ ii ];
|
||||||
|
let camera = view.camera;
|
||||||
|
|
||||||
|
// view.updateCamera( camera, scene, mouseX, mouseY );
|
||||||
|
|
||||||
|
let left = Math.floor( windowWidth * view.left );
|
||||||
|
let bottom = Math.floor( windowHeight * view.bottom );
|
||||||
|
let width = Math.floor( windowWidth * view.width );
|
||||||
|
let height = Math.floor( windowHeight * view.height );
|
||||||
|
|
||||||
renderer.setViewport( left, bottom, width, height );
|
renderer.setViewport( left, bottom, width, height );
|
||||||
renderer.setScissor( left, bottom, width, height );
|
renderer.setScissor( left, bottom, width, height );
|
||||||
|
@ -161,7 +161,8 @@ let exit2 = {
|
|||||||
new THREE.Vector3(30.2,9.8,28)
|
new THREE.Vector3(30.2,9.8,28)
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
let enternum = 0;
|
||||||
|
let exitnum = 0;
|
||||||
export function ZoneManager() {
|
export function ZoneManager() {
|
||||||
|
|
||||||
var scope = this;
|
var scope = this;
|
||||||
@ -221,6 +222,62 @@ export function ZoneManager() {
|
|||||||
return randompoint;
|
return randompoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.getstandposition = function(name){
|
||||||
|
let n = Math.round(Math.random()*20);
|
||||||
|
if(n>=1){
|
||||||
|
n=n;
|
||||||
|
}else{
|
||||||
|
n=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
let randompoint = new THREE.Vector3(0,scope.list[name].doorpoints[n].y,0);
|
||||||
|
|
||||||
|
if(name == "standtop"){
|
||||||
|
randompoint.x = scope.list[name].doorpoints[n].x + Math.random()*3;
|
||||||
|
randompoint.z = scope.list[name].doorpoints[n].z +5;
|
||||||
|
}
|
||||||
|
if(name == "standdown"){
|
||||||
|
randompoint.x = scope.list[name].doorpoints[n].x + Math.random()*3;
|
||||||
|
randompoint.z = scope.list[name].doorpoints[n].z -5;
|
||||||
|
}
|
||||||
|
let standdata = {
|
||||||
|
door:n,
|
||||||
|
point:randompoint
|
||||||
|
};
|
||||||
|
return standdata;
|
||||||
|
}
|
||||||
|
this.getgateposition = function(name){
|
||||||
|
let randompoint = new THREE.Vector3(0,0,0);
|
||||||
|
|
||||||
|
let standdata = {
|
||||||
|
door:null,
|
||||||
|
point:null
|
||||||
|
};
|
||||||
|
if(name == "entergate"){
|
||||||
|
randompoint.x = scope.list[name].railpoints[enternum].x ;
|
||||||
|
randompoint.y = scope.list[name].railpoints[enternum].y ;
|
||||||
|
randompoint.z = scope.list[name].railpoints[enternum].z ;
|
||||||
|
standdata.door = 4-enternum;
|
||||||
|
enternum += 1;
|
||||||
|
if(enternum>4){
|
||||||
|
enternum = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(name == "exitgate"){
|
||||||
|
randompoint.x = scope.list[name].railpoints[exitnum].x ;
|
||||||
|
randompoint.y = scope.list[name].railpoints[exitnum].y ;
|
||||||
|
randompoint.z = scope.list[name].railpoints[exitnum].z ;
|
||||||
|
standdata.door = 4-exitnum;
|
||||||
|
exitnum += 1;
|
||||||
|
if(exitnum>4){
|
||||||
|
exitnum = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
standdata.point = randompoint;
|
||||||
|
|
||||||
|
return standdata;
|
||||||
|
}
|
||||||
|
|
||||||
this.getzoneposition = function(name){
|
this.getzoneposition = function(name){
|
||||||
// let random = Math.random();
|
// let random = Math.random();
|
||||||
|
@ -12,5 +12,9 @@ export function ZoneModel(data) {
|
|||||||
this.railpoints = data.railpoints;
|
this.railpoints = data.railpoints;
|
||||||
|
|
||||||
this.railline = new THREE.CatmullRomCurve3(data.railpoints);
|
this.railline = new THREE.CatmullRomCurve3(data.railpoints);
|
||||||
|
if(data.doorpoints){
|
||||||
|
this.doorpoints = data.doorpoints;
|
||||||
|
}else{
|
||||||
|
this.doorpoints = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,7 +147,7 @@ this.loadpromise = function(sectionList,sectiondata,rails,scene,assetloader){
|
|||||||
let height = Math.random()/1000;
|
let height = Math.random()/1000;
|
||||||
var closedSpline = new THREE.CatmullRomCurve3( [
|
var closedSpline = new THREE.CatmullRomCurve3( [
|
||||||
new THREE.Vector3(newsection.railpoint[0].x,height,newsection.railpoint[0].z),
|
new THREE.Vector3(newsection.railpoint[0].x,height,newsection.railpoint[0].z),
|
||||||
new THREE.Vector3(newsection.railpoint[1].x,height,newsection.railpoint[1].z),
|
new THREE.Vector3(newsection.railpoint[1].x,height,newsection.railpoint[0].z),
|
||||||
] );
|
] );
|
||||||
|
|
||||||
closedSpline.type = 'catmullrom';
|
closedSpline.type = 'catmullrom';
|
||||||
|
@ -537,7 +537,7 @@ class SkinCode extends defaultStyle {
|
|||||||
trainBody: {
|
trainBody: {
|
||||||
fontFamily: 'consolas',
|
fontFamily: 'consolas',
|
||||||
trainBodyLineWidth: 0, // 车身line宽
|
trainBodyLineWidth: 0, // 车身line宽
|
||||||
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
||||||
specialTrainType: [
|
specialTrainType: [
|
||||||
{
|
{
|
||||||
type: '03',
|
type: '03',
|
||||||
@ -592,7 +592,7 @@ class SkinCode extends defaultStyle {
|
|||||||
},
|
},
|
||||||
common: {
|
common: {
|
||||||
useSelfFormat: true,
|
useSelfFormat: true,
|
||||||
useSelfText: true,
|
useSelfText: false,
|
||||||
trainHeight: 17, // 列车高度
|
trainHeight: 17, // 列车高度
|
||||||
trainHeadDistance: 2, // 列车和车头之间的间距
|
trainHeadDistance: 2, // 列车和车头之间的间距
|
||||||
trainWidth:62, // 列车长度
|
trainWidth:62, // 列车长度
|
||||||
|
@ -508,7 +508,7 @@ class SkinCode extends defaultStyle {
|
|||||||
radiusR: 6 // 控制灯大小
|
radiusR: 6 // 控制灯大小
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
fontWeight: 'normal',
|
fontWeight: 580,
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
distance: 10
|
distance: 10
|
||||||
},
|
},
|
||||||
|
@ -39,7 +39,7 @@ class EMouse extends Group {
|
|||||||
if (Vue.prototype.$jlmap.lineCode == '11' || Vue.prototype.$jlmap.lineCode == '10') {
|
if (Vue.prototype.$jlmap.lineCode == '11' || Vue.prototype.$jlmap.lineCode == '10') {
|
||||||
text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.parentName : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: CTC车\n最高信号系统控制: CTC\n驾驶模式: SM模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折法策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`;
|
text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.parentName : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: CTC车\n最高信号系统控制: CTC\n驾驶模式: SM模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折法策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`;
|
||||||
} else {
|
} else {
|
||||||
text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? this.device.model.sectionModel.parentName : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`;
|
text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const trainTip = this.device.style.Train.common.trainTip;
|
const trainTip = this.device.style.Train.common.trainTip;
|
||||||
|
@ -84,6 +84,8 @@ export default class Train extends Group {
|
|||||||
type: model.type,
|
type: model.type,
|
||||||
speed: model.speed,
|
speed: model.speed,
|
||||||
maLen: model.maLen,
|
maLen: model.maLen,
|
||||||
|
hold:model.hold,
|
||||||
|
jump:model.jump,
|
||||||
dt: model.dt,
|
dt: model.dt,
|
||||||
model: model
|
model: model
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-dialogDrag
|
v-dialogDrag
|
||||||
class="foshan-01__schedule stand-detain-train-all"
|
class="foshan-01__systerm stand-detain-train-all"
|
||||||
:title="title"
|
:title="title"
|
||||||
:visible.sync="show"
|
:visible.sync="show"
|
||||||
width="340px"
|
width="340px"
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-radio :id="control === '02'? '': domIdChoose1" label="02">全人工</el-radio>
|
<el-radio :id="control === '02'? '': domIdChoose1" label="02">全人工</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<!-- <el-input-number
|
<el-input-number
|
||||||
:id="domIdInput"
|
:id="domIdInput"
|
||||||
v-model="time"
|
v-model="time"
|
||||||
:disabled="disabledInput"
|
:disabled="disabledInput"
|
||||||
@ -31,7 +31,7 @@
|
|||||||
style="width: 130px; padding-left:30px;display: block; float: left; margin-top: 15px;"
|
style="width: 130px; padding-left:30px;display: block; float: left; margin-top: 15px;"
|
||||||
@change="inputTime"
|
@change="inputTime"
|
||||||
/>
|
/>
|
||||||
<div style="float: left;margin-top: 22px; margin-left: 5px;">秒</div> -->
|
<div style="float: left;margin-top: 22px; margin-left: 5px;">秒</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 10px 15px; border: 1px double lightgray; height: 60px;">
|
<div style="padding: 10px 15px; border: 1px double lightgray; height: 60px;">
|
||||||
@ -72,7 +72,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
// time: 0,
|
time: 0,
|
||||||
control: '01',
|
control: '01',
|
||||||
direction: '01',
|
direction: '01',
|
||||||
effective: '0',
|
effective: '0',
|
||||||
@ -143,7 +143,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.control = Number(tempDate.parkingTime) === -1 ? '01' : '02';
|
this.control = Number(tempDate.parkingTime) === -1 ? '01' : '02';
|
||||||
// this.time = Number(tempDate.parkingTime) === -1 ? 15 : Number(tempDate.parkingTime);
|
this.time = Number(tempDate.parkingTime) === -1 ? 15 : Number(tempDate.parkingTime);
|
||||||
// this.effective = tempDate.parkingValidStatus ? true : false;
|
// this.effective = tempDate.parkingValidStatus ? true : false;
|
||||||
this.effective = tempDate.parkingValidStatus ? '1' : '0';
|
this.effective = tempDate.parkingValidStatus ? '1' : '0';
|
||||||
this.direction = selected.direction;
|
this.direction = selected.direction;
|
||||||
@ -187,18 +187,18 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// inputTime() {
|
inputTime() {
|
||||||
// const operate = {
|
const operate = {
|
||||||
// repeat: true,
|
repeat: true,
|
||||||
// operation: OperationEvent.StationStand.setStopTime.input.operation
|
operation: OperationEvent.StationStand.setStopTime.input.operation
|
||||||
// };
|
};
|
||||||
|
|
||||||
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
// if (valid) {
|
if (valid) {
|
||||||
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
// },
|
},
|
||||||
commit() {
|
commit() {
|
||||||
const operate = {
|
const operate = {
|
||||||
send: true,
|
send: true,
|
||||||
@ -206,7 +206,7 @@ export default {
|
|||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
param: {
|
param: {
|
||||||
parkingTime: this.control == '01' ? -1 : 1,
|
parkingTime: this.control == '01' ? -1 : 1,
|
||||||
// runLevelTime: this.time,
|
runLevelTime: this.time,
|
||||||
parkingAlwaysValid: this.effective == '1'
|
parkingAlwaysValid: this.effective == '1'
|
||||||
}
|
}
|
||||||
// messages: [`停站时间: ${this.stationName} - ${this.standName}, 停站时间为${this.control == '01' ? '自动' : this.time + '秒'}, 有效次数为${this.effective == false ? '一次有效' : '一直有效'}`]
|
// messages: [`停站时间: ${this.stationName} - ${this.standName}, 停站时间为${this.control == '01' ? '自动' : this.time + '秒'}, 有效次数为${this.effective == false ? '一次有效' : '一直有效'}`]
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
<div>道岔</div>
|
<div>道岔</div>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
|
<el-select :id="domIdChoose" v-model="messageText2" filterable size="mini" :disabled="disabledConfirm2" @change="SelectChange">
|
||||||
<el-option v-for="option in switchList" :key="option.code" :label="option.name" :value="option.name" />
|
<el-option v-for="option in switchList" :key="option.code" :label="option.name" :value="option.code" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" :offset="1">
|
<el-col :span="8" :offset="1">
|
||||||
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="body_cont">
|
<div class="body_cont">
|
||||||
<div class="status_text">状态</div>
|
<div class="status_text">状态</div>
|
||||||
<div class="textarea_content" />
|
<div class="textarea_content">{{ message }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
|
<el-button :id="domIdConfirm" class="close_btn" type="primary" @click="commit">关闭</el-button>
|
||||||
@ -73,7 +73,7 @@ export default {
|
|||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
selected: null,
|
selected: null,
|
||||||
operation: null,
|
operation: null,
|
||||||
|
message:'',
|
||||||
messageText1: '',
|
messageText1: '',
|
||||||
messageText2: '',
|
messageText2: '',
|
||||||
timeCountConfirm: -1,
|
timeCountConfirm: -1,
|
||||||
@ -124,6 +124,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(operate, selected) {
|
doShow(operate, selected) {
|
||||||
|
this.message = '';
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
if (!this.dialogShow) {
|
if (!this.dialogShow) {
|
||||||
this.messageText1 = selected.name;
|
this.messageText1 = selected.name;
|
||||||
@ -139,6 +140,7 @@ export default {
|
|||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
this.messageText1 = '';
|
this.messageText1 = '';
|
||||||
this.messageText2 = '';
|
this.messageText2 = '';
|
||||||
|
this.message = '';
|
||||||
this.timeCountConfirm = -1;
|
this.timeCountConfirm = -1;
|
||||||
this.disabledConfirm1 = false;
|
this.disabledConfirm1 = false;
|
||||||
this.disabledConfirm2 = true;
|
this.disabledConfirm2 = true;
|
||||||
@ -147,6 +149,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
SelectChange() {
|
SelectChange() {
|
||||||
|
this.message = '';
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: '',
|
operation: '',
|
||||||
val: this.messageText2
|
val: this.messageText2
|
||||||
@ -192,7 +195,9 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
confirm2() {
|
confirm2() {
|
||||||
|
if (this.selected.code == this.messageText2) {
|
||||||
const operate = {
|
const operate = {
|
||||||
|
over: true,
|
||||||
operation: '',
|
operation: '',
|
||||||
cmdType: ''
|
cmdType: ''
|
||||||
};
|
};
|
||||||
@ -203,21 +208,23 @@ export default {
|
|||||||
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
|
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
|
||||||
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
|
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
this.messageText2 = '*****';
|
this.messageText2 = '*****';
|
||||||
this.disabledConfirm2 = true;
|
this.disabledConfirm2 = true;
|
||||||
this.timeCountConfirm = -1;
|
this.timeCountConfirm = -1;
|
||||||
|
this.message = '操作成功';
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
this.$refs.noticeInfo.doShow(operate, error.message);
|
this.$refs.noticeInfo.doShow(operate, error.message);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
this.message = '请选择正确的道岔';
|
||||||
|
}
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
|
||||||
operation: ''
|
operation: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -316,6 +323,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
border: 2px solid #E9E9E9;
|
border: 2px solid #E9E9E9;
|
||||||
box-shadow: 2px 2px #959595 inset;
|
box-shadow: 2px 2px #959595 inset;
|
||||||
|
padding:5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,6 +87,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<station-control ref="stationControl" />
|
<station-control ref="stationControl" />
|
||||||
|
<view-train-id ref="viewTrainId" />
|
||||||
<detain-train-contorl ref="detainTrainContorl" />
|
<detain-train-contorl ref="detainTrainContorl" />
|
||||||
<detain-train-contorl-up-down ref="detainTrainContorlUpDown" />
|
<detain-train-contorl-up-down ref="detainTrainContorlUpDown" />
|
||||||
<notice-info ref="noticeInfo" />
|
<notice-info ref="noticeInfo" />
|
||||||
@ -105,6 +106,7 @@ import StationControl from './menuDialog/stationControl';
|
|||||||
import DetainTrainContorl from './menuDialog/detainTrainContorl';
|
import DetainTrainContorl from './menuDialog/detainTrainContorl';
|
||||||
import DetainTrainContorlUpDown from './menuDialog/detainTrainContorlUpDown';
|
import DetainTrainContorlUpDown from './menuDialog/detainTrainContorlUpDown';
|
||||||
import TrainAdd from './menuDialog/trainAdd';
|
import TrainAdd from './menuDialog/trainAdd';
|
||||||
|
import ViewTrainId from './menuDialog/viewTrainId';
|
||||||
import TrainTranstalet from './menuDialog/trainTranstalet';
|
import TrainTranstalet from './menuDialog/trainTranstalet';
|
||||||
import TrainDelete from './menuDialog/trainDelete';
|
import TrainDelete from './menuDialog/trainDelete';
|
||||||
import ManageUser from './menuDialog/manageUser';
|
import ManageUser from './menuDialog/manageUser';
|
||||||
@ -123,6 +125,7 @@ export default {
|
|||||||
TrainTranstalet,
|
TrainTranstalet,
|
||||||
TrainDelete,
|
TrainDelete,
|
||||||
ManageUser,
|
ManageUser,
|
||||||
|
ViewTrainId,
|
||||||
HelpAbout
|
HelpAbout
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -187,6 +190,27 @@ export default {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('menu.menuBar.display'),
|
||||||
|
operate: OperationEvent.Command.mBar.view,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: this.$t('menu.menuBar.setTrainIdDisplay'),
|
||||||
|
click: this.setTrainIdDisplay,
|
||||||
|
operate: OperationEvent.Command.view.setTrainIdDisplay
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// title: this.$t('menu.menuBar.setNameDisplay'),
|
||||||
|
// click: this.setNameDisplay,
|
||||||
|
// operate: OperationEvent.Command.view.setNameDisplay
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: this.$t('menu.menuBar.setDeviceDisplay'),
|
||||||
|
// click: this.setDeviceDisplay,
|
||||||
|
// operate: OperationEvent.Command.view.setDeviceDisplay
|
||||||
|
// }
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '查看',
|
title: '查看',
|
||||||
operate: OperationEvent.Command.mBar.check,
|
operate: OperationEvent.Command.mBar.check,
|
||||||
@ -432,6 +456,27 @@ export default {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('menu.menuBar.display'),
|
||||||
|
operate: OperationEvent.Command.mBar.view,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
title: this.$t('menu.menuBar.setTrainIdDisplay'),
|
||||||
|
click: this.setTrainIdDisplay,
|
||||||
|
operate: OperationEvent.Command.view.setTrainIdDisplay
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// title: this.$t('menu.menuBar.setNameDisplay'),
|
||||||
|
// click: this.setNameDisplay,
|
||||||
|
// operate: OperationEvent.Command.view.setNameDisplay
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// title: this.$t('menu.menuBar.setDeviceDisplay'),
|
||||||
|
// click: this.setDeviceDisplay,
|
||||||
|
// operate: OperationEvent.Command.view.setDeviceDisplay
|
||||||
|
// }
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '查看',
|
title: '查看',
|
||||||
operate: OperationEvent.Command.mBar.check,
|
operate: OperationEvent.Command.mBar.check,
|
||||||
@ -797,6 +842,19 @@ export default {
|
|||||||
this.closeMenu(true);
|
this.closeMenu(true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 设置列车识别号显示
|
||||||
|
setTrainIdDisplay(order) {
|
||||||
|
const operate = {
|
||||||
|
operation: order.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.closeMenu(true);
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
this.$refs.viewTrainId.doShow(operate);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
// 站遥控
|
// 站遥控
|
||||||
stationRemoteControl(order) {
|
stationRemoteControl(order) {
|
||||||
const operate = {
|
const operate = {
|
||||||
|
@ -43,8 +43,8 @@ export default {
|
|||||||
disabledCommit: false,
|
disabledCommit: false,
|
||||||
control: '01',
|
control: '01',
|
||||||
controlProps: {
|
controlProps: {
|
||||||
'01': '取消上行扣车',
|
'01': '取消上行全线扣车',
|
||||||
'02': '取消下行扣车'
|
'02': '取消下行全线扣车'
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -63,9 +63,9 @@ export default {
|
|||||||
title() {
|
title() {
|
||||||
if (this.dialogShow) {
|
if (this.dialogShow) {
|
||||||
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
if (this.operation == OperationEvent.StationStand.cancelUpDetainTrainAll.mbar.operation) {
|
||||||
return '取消上行扣车';
|
return '取消上行全线扣车';
|
||||||
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
} else if (this.operation == OperationEvent.StationStand.cancelDownDetainTrainAll.mbar.operation) {
|
||||||
return '取消下行扣车';
|
return '取消下行全线扣车';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
208
src/jmapNew/theme/foshan_01/menus/menuDialog/viewTrainId.vue
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-dialogDrag
|
||||||
|
class="foshan-01__systerm view-train-id"
|
||||||
|
:title="$t('menu.menuDialog.trainIDDisplaySetting')"
|
||||||
|
:visible.sync="show"
|
||||||
|
width="420px"
|
||||||
|
:before-close="doClose"
|
||||||
|
:z-index="2000"
|
||||||
|
:modal="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<div style="padding: 10px 20px; border: 1px double lightgray;">
|
||||||
|
<span class="base-label">{{ $t('menu.menuDialog.plantrainDisplayMode') }}</span>
|
||||||
|
<el-radio-group v-model="planMode">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-radio :label="1">{{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.tripNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="4">
|
||||||
|
<el-radio :label="2">{{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.groupNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row class="elrow">
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-radio :label="3">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.tripNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="4">
|
||||||
|
<el-radio :label="4">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.groupNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row class="elrow">
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-radio :label="5">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.tripNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="4">
|
||||||
|
<el-radio :label="6">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.groupNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div style="padding: 10px 20px; border: 1px double lightgray; margin: 20px 0px;">
|
||||||
|
<span class="base-label">{{ $t('menu.menuDialog.headCodeStationDisplayMode') }}</span>
|
||||||
|
<el-radio-group v-model="headMode">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-radio :label="3">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.tripNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6" :offset="4">
|
||||||
|
<el-radio :label="4">{{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.groupNumber') }}</el-radio>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
<div style="padding: 10px 20px; border: 1px double lightgray;">
|
||||||
|
<span class="base-label">{{ $t('menu.menuDialog.fontSize') }}</span>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="10">
|
||||||
|
<el-input v-model="fontSize" size="small" min="16" max="99" />
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10" :offset="1">
|
||||||
|
<span style="height:32px; line-height:32px;">{{ $t('menu.menuDialog.range') }}</span>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<el-row class="button-group">
|
||||||
|
<el-col :span="6" :offset="2">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('menu.menuDialog.confirm') }}</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="8">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">{{ $t('menu.menuDialog.cancel') }}</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<notice-info ref="noticeInfo" />
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
// import deviceType from '@/jmap/constant/deviceType';
|
||||||
|
import NoticeInfo from '../dialog/childDialog/childDialog/noticeInfo';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ViewTrainId',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
operate: null,
|
||||||
|
operation: '',
|
||||||
|
planMode: 5,
|
||||||
|
headMode: 5,
|
||||||
|
fontSize: 19
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
|
},
|
||||||
|
domIdCancel() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.close.confirm.domId : '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.setTrainDispaly();
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow(operate) {
|
||||||
|
this.operate = operate || {};
|
||||||
|
this.operation = operate.operation;
|
||||||
|
|
||||||
|
// 非断电激活时设置初始值
|
||||||
|
if (!this.dialogShow) {
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.loading = false;
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
over: true,
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.confirm.operation,
|
||||||
|
val: [this.planMode, this.headMode, this.fontSize].join('::')
|
||||||
|
};
|
||||||
|
|
||||||
|
this.loading = true;
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (valid) {
|
||||||
|
this.setTrainDispaly();
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
setTrainDispaly() {
|
||||||
|
const updatlist = [];
|
||||||
|
const trainList = this.$store.getters['training/viewTrainList']();
|
||||||
|
if (trainList && trainList.length > 0) {
|
||||||
|
const nameFormat = this.trainNameFormatBy(this.planMode);
|
||||||
|
const nameFontSize = this.fontSize;
|
||||||
|
trainList.forEach(elem => {
|
||||||
|
updatlist.push(Object.assign(this.$jlmap.getDeviceByCode(elem.code), {nameFormat, nameFontSize }));
|
||||||
|
});
|
||||||
|
this.$store.dispatch('map/updateMapDevices', updatlist);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trainNameFormatBy(mode) {
|
||||||
|
switch (mode.toString()) {
|
||||||
|
case '1': return 'serviceNumber:tripNumber'; // 表号+车次号
|
||||||
|
case '2': return 'serviceNumber:groupNumber'; // 表号+车组号
|
||||||
|
case '3': return 'targetCode:tripNumber'; // 目的地号+车次号
|
||||||
|
case '4': return 'targetCode:groupNumber'; // 目的地号+车组号
|
||||||
|
case '5': return 'targetCode:serviceNumber:tripNumber'; // 目的地号+表号+车次号
|
||||||
|
case '6': return 'targetCode:serviceNumber:groupNumber'; // 目的地号+表号+车组号
|
||||||
|
}
|
||||||
|
|
||||||
|
return ''; // 无格式类型
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
|
/deep/ {
|
||||||
|
.el-dialog .el-radio__label{
|
||||||
|
width: 150px ;
|
||||||
|
white-space: pre-wrap ;
|
||||||
|
display: inline-block ;
|
||||||
|
}
|
||||||
|
.el-radio__input{
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.elrow{
|
||||||
|
margin-top:4px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -21,7 +21,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="canSetting" :label="this.$t('global.status')" :width="100">
|
<el-table-column prop="canSetting" :label="this.$t('global.status')" :width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.canSetting">{{ $t('menu.allowSelection') }}</span>
|
<span v-if="scope.row.settable">{{ $t('menu.allowSelection') }}</span>
|
||||||
<span v-else>{{ $t('menu.notAllowSelection') }}</span>
|
<span v-else>{{ $t('menu.notAllowSelection') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -129,16 +129,14 @@ export const menuOperate = {
|
|||||||
},
|
},
|
||||||
Switch:{
|
Switch:{
|
||||||
lock:{
|
lock:{
|
||||||
// 道岔单锁(联锁)
|
// 道岔单锁
|
||||||
operation: OperationEvent.Switch.lock.menu.operation,
|
operation: OperationEvent.Switch.lock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
unlock:{
|
unlock:{
|
||||||
// 道岔解锁(联锁)
|
// 道岔解锁
|
||||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
block:{
|
block:{
|
||||||
// 道岔封锁
|
// 道岔封锁
|
||||||
@ -150,15 +148,10 @@ export const menuOperate = {
|
|||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
},
|
},
|
||||||
npChain:{
|
turnout:{
|
||||||
// 道岔定操(联动)
|
// 道岔转动
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.turnout.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_TURN
|
||||||
},
|
|
||||||
rpChain:{
|
|
||||||
// 道岔反操(联动)
|
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
|
||||||
},
|
},
|
||||||
split:{
|
split:{
|
||||||
// 区段切除
|
// 区段切除
|
||||||
|
@ -129,16 +129,14 @@ export const menuOperate = {
|
|||||||
},
|
},
|
||||||
Switch:{
|
Switch:{
|
||||||
lock:{
|
lock:{
|
||||||
// 道岔单锁(联锁)
|
// 道岔单锁
|
||||||
operation: OperationEvent.Switch.lock.menu.operation,
|
operation: OperationEvent.Switch.lock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
unlock:{
|
unlock:{
|
||||||
// 道岔解锁(联锁)
|
// 道岔解锁
|
||||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
block:{
|
block:{
|
||||||
// 道岔封锁
|
// 道岔封锁
|
||||||
@ -150,15 +148,15 @@ export const menuOperate = {
|
|||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
},
|
},
|
||||||
npChain:{
|
locate:{
|
||||||
// 道岔定操(联动)
|
// 道岔定操
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.locate.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
rpChain:{
|
reverse:{
|
||||||
// 道岔反操(联动)
|
// 道岔反操
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
split:{
|
split:{
|
||||||
// 区段切除
|
// 区段切除
|
||||||
|
@ -199,11 +199,11 @@ export default {
|
|||||||
},
|
},
|
||||||
// 道岔定位
|
// 道岔定位
|
||||||
locate() {
|
locate() {
|
||||||
this.sendCommand(menuOperate.Switch.npChain);
|
this.sendCommand(menuOperate.Switch.locate);
|
||||||
},
|
},
|
||||||
// 道岔反位
|
// 道岔反位
|
||||||
reverse() {
|
reverse() {
|
||||||
this.sendCommand(menuOperate.Switch.rpChain);
|
this.sendCommand(menuOperate.Switch.reverse);
|
||||||
},
|
},
|
||||||
// 区段切除
|
// 区段切除
|
||||||
split() {
|
split() {
|
||||||
|
@ -180,6 +180,7 @@ export default {
|
|||||||
val: this.messageText2
|
val: this.messageText2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.message = '';
|
||||||
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
operate.operation = OperationEvent.Switch.unlock.choose.operation;
|
operate.operation = OperationEvent.Switch.unlock.choose.operation;
|
||||||
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
@ -221,13 +222,15 @@ export default {
|
|||||||
},
|
},
|
||||||
confirm2() {
|
confirm2() {
|
||||||
if (this.messageText2 == this.switchCode) {
|
if (this.messageText2 == this.switchCode) {
|
||||||
|
this.message = '';
|
||||||
const operate = {
|
const operate = {
|
||||||
|
over: true,
|
||||||
operation: '',
|
operation: '',
|
||||||
cmdType: ''
|
cmdType: ''
|
||||||
};
|
};
|
||||||
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
operate.operation = OperationEvent.Switch.unlock.confirm2.operation;
|
operate.operation = OperationEvent.Switch.unlock.confirm2.operation;
|
||||||
operate.cmdType = CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN;
|
operate.cmdType = CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK;
|
||||||
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
|
operate.operation = OperationEvent.Switch.unblock.confirm2.operation;
|
||||||
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
|
operate.cmdType = CMD.Switch.CMD_SWITCH_UNBLOCK;
|
||||||
@ -239,17 +242,17 @@ export default {
|
|||||||
this.messageText2 = '*****';
|
this.messageText2 = '*****';
|
||||||
this.disabledConfirm2 = true;
|
this.disabledConfirm2 = true;
|
||||||
this.timeCountConfirm = -1;
|
this.timeCountConfirm = -1;
|
||||||
|
this.message = '操作成功';
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$refs.noticeInfo.doShow();
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.message = '选择道岔错误';
|
this.message = '请选择正确的道岔';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
|
||||||
operation: ''
|
operation: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -348,6 +351,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
border: 2px solid #E9E9E9;
|
border: 2px solid #E9E9E9;
|
||||||
box-shadow: 2px 2px #959595 inset;
|
box-shadow: 2px 2px #959595 inset;
|
||||||
|
padding:5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,22 +49,22 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '定操',
|
label: '定操',
|
||||||
handler: this.locate,
|
handler: this.locate,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '反操',
|
label: '反操',
|
||||||
handler: this.reverse,
|
handler: this.reverse,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔单锁',
|
label: '道岔单锁',
|
||||||
handler: this.lock,
|
handler: this.lock,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔单解',
|
label: '道岔单解',
|
||||||
handler: this.unlock,
|
handler: this.unlock,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔封锁',
|
label: '道岔封锁',
|
||||||
@ -81,12 +81,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '定操',
|
label: '定操',
|
||||||
handler: this.locate,
|
handler: this.locate,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '反操',
|
label: '反操',
|
||||||
handler: this.reverse,
|
handler: this.reverse,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
@ -185,7 +185,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 定操定位
|
// 定操定位
|
||||||
locate() {
|
locate() {
|
||||||
commitOperate(menuOperate.Switch.npChain, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Switch.locate, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.switchControl.doShow(operate, this.selected);
|
this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}
|
}
|
||||||
@ -193,7 +193,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 定操反位
|
// 定操反位
|
||||||
reverse() {
|
reverse() {
|
||||||
commitOperate(menuOperate.Switch.rpChain, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Switch.reverse, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.switchControl.doShow(operate, this.selected);
|
this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}
|
}
|
||||||
|
@ -131,14 +131,12 @@ export const menuOperate = {
|
|||||||
lock:{
|
lock:{
|
||||||
// 道岔单锁(联锁)
|
// 道岔单锁(联锁)
|
||||||
operation: OperationEvent.Switch.lock.menu.operation,
|
operation: OperationEvent.Switch.lock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
unlock:{
|
unlock:{
|
||||||
// 道岔解锁(联锁)
|
// 道岔解锁(联锁)
|
||||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||||
// cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK_CHAIN
|
|
||||||
},
|
},
|
||||||
block:{
|
block:{
|
||||||
// 道岔封锁
|
// 道岔封锁
|
||||||
@ -150,15 +148,15 @@ export const menuOperate = {
|
|||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
},
|
},
|
||||||
npChain:{
|
locate:{
|
||||||
// 道岔定操(联动)
|
// 道岔定操(联动)
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.locate.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
rpChain:{
|
reverse:{
|
||||||
// 道岔反操(联动)
|
// 道岔反操(联动)
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
split:{
|
split:{
|
||||||
// 区段切除
|
// 区段切除
|
||||||
|
@ -358,7 +358,7 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Switch_Turn_NP_Chain',
|
operateType: 'Switch_Normal_Position',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '定操({7})',
|
trainingName: '定操({7})',
|
||||||
trainingRemark: '定操({7})',
|
trainingRemark: '定操({7})',
|
||||||
@ -372,7 +372,7 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Switch_Turn_RP_Chain', // 0313 新增定位字典
|
operateType: 'Switch_Reverse_Position', // 0313 新增定位字典
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '反操({7})',
|
trainingName: '反操({7})',
|
||||||
trainingRemark: '反操({7})',
|
trainingRemark: '反操({7})',
|
||||||
|
@ -218,7 +218,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.cancelTrainRoute.confirm.operation,
|
operation: OperationEvent.Signal.cancelTrainRoute.confirm.operation,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_FORCE_CANCEL_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="canSetting" :label="this.$t('global.status')" :width="100">
|
<el-table-column prop="canSetting" :label="this.$t('global.status')" :width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.canSetting">{{ $t('menu.allowSelection') }}</span>
|
<span v-if="scope.row.settable">{{ $t('menu.allowSelection') }}</span>
|
||||||
<span v-else>{{ $t('menu.notAllowSelection') }}</span>
|
<span v-else>{{ $t('menu.notAllowSelection') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -127,7 +127,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 道岔转动
|
// 道岔转动
|
||||||
turnout() {
|
turnout() {
|
||||||
this.sendCommand(menuOperate.Switch.switchTurnout);
|
this.sendCommand(menuOperate.Switch.turnout);
|
||||||
},
|
},
|
||||||
// 区段切除
|
// 区段切除
|
||||||
split() {
|
split() {
|
||||||
@ -144,10 +144,10 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch((error) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow();
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '进路取消',
|
label: '进路取消',
|
||||||
handler: this.cancelTrainRoute,
|
handler: this.cancelTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_FORCE_CANCEL_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '信号封锁',
|
label: '信号封锁',
|
||||||
@ -131,7 +131,7 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '进路取消',
|
label: '进路取消',
|
||||||
handler: this.cancelTrainRoute,
|
handler: this.cancelTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_FORCE_CANCEL_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '信号封锁',
|
label: '信号封锁',
|
||||||
|
@ -263,7 +263,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 道岔转动
|
// 道岔转动
|
||||||
switchTurnout() {
|
switchTurnout() {
|
||||||
commitOperate(menuOperate.Switch.switchTurnout, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Switch.turnout, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.switchControl.doShow(operate, this.selected);
|
this.$refs.switchControl.doShow(operate, this.selected);
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ export const menuOperate = {
|
|||||||
cancelTrainRoute:{
|
cancelTrainRoute:{
|
||||||
// 取消进路
|
// 取消进路
|
||||||
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
|
operation: OperationEvent.Signal.cancelTrainRoute.menu.operation,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_FORCE_CANCEL_ROUTE
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||||
},
|
},
|
||||||
lock:{
|
lock:{
|
||||||
// 信号封锁
|
// 信号封锁
|
||||||
@ -158,7 +158,7 @@ export const menuOperate = {
|
|||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
},
|
},
|
||||||
switchTurnout: {
|
turnout: {
|
||||||
// 道岔转动
|
// 道岔转动
|
||||||
operation: OperationEvent.Switch.turnout.menu.operation,
|
operation: OperationEvent.Switch.turnout.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN
|
cmdType: CMD.Switch.CMD_SWITCH_TURN
|
||||||
@ -278,7 +278,7 @@ export const menuOperate = {
|
|||||||
// 设置折返策略
|
// 设置折返策略
|
||||||
operation: OperationEvent.Station.setBackStrategy.menu.operation,
|
operation: OperationEvent.Station.setBackStrategy.menu.operation,
|
||||||
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY
|
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
TrainWindow: {
|
TrainWindow: {
|
||||||
editTrainId: {
|
editTrainId: {
|
||||||
|
@ -52,12 +52,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '定操',
|
label: '定操',
|
||||||
handler: this.locate,
|
handler: this.locate,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '反操',
|
label: '反操',
|
||||||
handler: this.reverse,
|
handler: this.reverse,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔单锁',
|
label: '道岔单锁',
|
||||||
@ -84,12 +84,12 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '道岔定位',
|
label: '道岔定位',
|
||||||
handler: this.locate,
|
handler: this.locate,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔反位',
|
label: '道岔反位',
|
||||||
handler: this.reverse,
|
handler: this.reverse,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '道岔单锁',
|
label: '道岔单锁',
|
||||||
@ -256,7 +256,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 定操定位
|
// 定操定位
|
||||||
locate() {
|
locate() {
|
||||||
commitOperate(menuOperate.Switch.npChain, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Switch.locate, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||||
device: this.selected,
|
device: this.selected,
|
||||||
@ -269,7 +269,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 定操反位
|
// 定操反位
|
||||||
reverse() {
|
reverse() {
|
||||||
commitOperate(menuOperate.Switch.rpChain, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
commitOperate(menuOperate.Switch.reverse, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||||
device: this.selected,
|
device: this.selected,
|
||||||
|
@ -144,15 +144,15 @@ export const menuOperate = {
|
|||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK
|
||||||
},
|
},
|
||||||
npChain:{
|
locate:{
|
||||||
// 道岔定操(联动)
|
// 道岔定操
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.locate.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_NP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||||
},
|
},
|
||||||
rpChain:{
|
reverse:{
|
||||||
// 道岔反操(联动)
|
// 道岔反操
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_TURN_RP_CHAIN
|
cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||||
},
|
},
|
||||||
split:{
|
split:{
|
||||||
// 区段切除
|
// 区段切除
|
||||||
|
@ -358,7 +358,7 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Switch_Turn_NP_Chain',
|
operateType: 'Switch_Normal_Position',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '定操({7})',
|
trainingName: '定操({7})',
|
||||||
trainingRemark: '定操({7})',
|
trainingRemark: '定操({7})',
|
||||||
@ -372,7 +372,7 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: 'Switch_Turn_RP_Chain', // 0313 新增定位字典
|
operateType: 'Switch_Reverse_Position', // 0313 新增定位字典
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '反操({7})',
|
trainingName: '反操({7})',
|
||||||
trainingRemark: '反操({7})',
|
trainingRemark: '反操({7})',
|
||||||
|
@ -25,8 +25,10 @@ function isDesignPage(toRoutePath) {
|
|||||||
return designPageRegex.some(item => item.test(toRoutePath) );
|
return designPageRegex.some(item => item.test(toRoutePath) );
|
||||||
}
|
}
|
||||||
for (const val in PermissionParam) {
|
for (const val in PermissionParam) {
|
||||||
|
if (PermissionParam[val].whitePage) {
|
||||||
whiteList.push(PermissionParam[val].whitePage);
|
whiteList.push(PermissionParam[val].whitePage);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
const loginPage = whiteList[0];
|
const loginPage = whiteList[0];
|
||||||
const loginDesignPage = whiteList[1];
|
const loginDesignPage = whiteList[1];
|
||||||
|
|
||||||
|
@ -8,10 +8,10 @@ export default {
|
|||||||
CMD_SWITCH_SINGLE_LOCK: {value:'Switch_Single_Lock', label: '单锁'},
|
CMD_SWITCH_SINGLE_LOCK: {value:'Switch_Single_Lock', label: '单锁'},
|
||||||
/** 单解 */
|
/** 单解 */
|
||||||
CMD_SWITCH_SINGLE_UNLOCK: {value:'Switch_Single_Unlock', label: '单解'},
|
CMD_SWITCH_SINGLE_UNLOCK: {value:'Switch_Single_Unlock', label: '单解'},
|
||||||
/** 单锁(联动) */
|
// /** 单锁(联动) */
|
||||||
CMD_SWITCH_SINGLE_LOCK_CHAIN: {value:'Switch_Single_Lock_Chain', label: '单锁(联动)'},
|
// CMD_SWITCH_SINGLE_LOCK_CHAIN: {value:'Switch_Single_Lock_Chain', label: '单锁(联动)'},
|
||||||
/** 单解(联动) */
|
// /** 单解(联动) */
|
||||||
CMD_SWITCH_SINGLE_UNLOCK_CHAIN: {value:'Switch_Single_Unlock_Chain', label: '单解(联动)'},
|
// CMD_SWITCH_SINGLE_UNLOCK_CHAIN: {value:'Switch_Single_Unlock_Chain', label: '单解(联动)'},
|
||||||
/** 封锁 */
|
/** 封锁 */
|
||||||
CMD_SWITCH_BLOCK: {value:'Switch_Block', label: '封锁'},
|
CMD_SWITCH_BLOCK: {value:'Switch_Block', label: '封锁'},
|
||||||
/** 解封 */
|
/** 解封 */
|
||||||
@ -38,10 +38,10 @@ export default {
|
|||||||
CMD_SWITCH_NORMAL_POSITION:{value:'Switch_Normal_Position', label:'单操到定位'},
|
CMD_SWITCH_NORMAL_POSITION:{value:'Switch_Normal_Position', label:'单操到定位'},
|
||||||
/** 反位(反操) */
|
/** 反位(反操) */
|
||||||
CMD_SWITCH_REVERSE_POSITION:{value:'Switch_Reverse_Position', label:'单操到反位'},
|
CMD_SWITCH_REVERSE_POSITION:{value:'Switch_Reverse_Position', label:'单操到反位'},
|
||||||
/** 道岔定操(联动) */
|
// /** 道岔定操(联动) */
|
||||||
CMD_SWITCH_TURN_NP_CHAIN: {value: 'Switch_Turn_NP_Chain', label: '道岔定操(联动)'},
|
// CMD_SWITCH_TURN_NP_CHAIN: {value: 'Switch_Turn_NP_Chain', label: '道岔定操(联动)'},
|
||||||
/** 道岔反操(联动)*/
|
// /** 道岔反操(联动)*/
|
||||||
CMD_SWITCH_TURN_RP_CHAIN: {value: 'Switch_Turn_RP_Chain', label: '道岔反操(联动)'},
|
// CMD_SWITCH_TURN_RP_CHAIN: {value: 'Switch_Turn_RP_Chain', label: '道岔反操(联动)'},
|
||||||
/** 道岔区段封锁 */
|
/** 道岔区段封锁 */
|
||||||
CMD_SWITCH_SECTION_BLOCK: {value: 'Switch_Section_Block', label: '道岔区段封锁'},
|
CMD_SWITCH_SECTION_BLOCK: {value: 'Switch_Section_Block', label: '道岔区段封锁'},
|
||||||
/** 道岔区段解封 */
|
/** 道岔区段解封 */
|
||||||
@ -78,8 +78,8 @@ export default {
|
|||||||
CMD_SIGNAL_SET_ROUTE: {value:'Signal_Set_Route', label: '排列进路'},
|
CMD_SIGNAL_SET_ROUTE: {value:'Signal_Set_Route', label: '排列进路'},
|
||||||
/** 取消进路 */
|
/** 取消进路 */
|
||||||
CMD_SIGNAL_CANCEL_ROUTE: {value:'Signal_Cancel_Route', label: '取消进路'},
|
CMD_SIGNAL_CANCEL_ROUTE: {value:'Signal_Cancel_Route', label: '取消进路'},
|
||||||
/** 强制取消进路 */
|
// /** 强制取消进路 */
|
||||||
CMD_SIGNAL_FORCE_CANCEL_ROUTE: {value: 'Signal_Force_Cancel_Route', label: '强制取消进路'},
|
// CMD_SIGNAL_FORCE_CANCEL_ROUTE: {value: 'Signal_Force_Cancel_Route', label: '强制取消进路'},
|
||||||
/** 人解进路 */
|
/** 人解进路 */
|
||||||
CMD_SIGNAL_HUMAN_RELEASE_ROUTE: {value:'Signal_Human_Release_Route', label: '人解进路'},
|
CMD_SIGNAL_HUMAN_RELEASE_ROUTE: {value:'Signal_Human_Release_Route', label: '人解进路'},
|
||||||
/** 信号关灯 */
|
/** 信号关灯 */
|
||||||
|
@ -165,7 +165,6 @@ const iscs = {
|
|||||||
|
|
||||||
commit('iscsRender', models);
|
commit('iscsRender', models);
|
||||||
resolve(models);
|
resolve(models);
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
setUpdateDeviceData: ({ commit }, models) => {
|
setUpdateDeviceData: ({ commit }, models) => {
|
||||||
|
@ -165,7 +165,7 @@ function handleSimulationInfo(state, data) {
|
|||||||
self: isSelf,
|
self: isSelf,
|
||||||
message: data.message,
|
message: data.message,
|
||||||
voice: data.isAudio,
|
voice: data.isAudio,
|
||||||
src: data.isAudio ? `/jlcloud/audio/${data.audioPath}` : '',
|
src: data.isAudio ? `/audio/${data.audioPath}` : '',
|
||||||
member:data.member,
|
member:data.member,
|
||||||
memberOnline:data.member.online,
|
memberOnline:data.member.online,
|
||||||
chatTime: data.chatTime,
|
chatTime: data.chatTime,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="control-bas-box">
|
<div class="control-bas-box">
|
||||||
<div class="title-name">{{ $route.query.stationName }}大系统模式表</div>
|
<div class="title-name">{{ $route.query.stationName + modeName }}</div>
|
||||||
<div class="control-bas">
|
<div class="control-bas">
|
||||||
<el-table :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyle" :span-method="objectSpanMethod" style="float: left;">
|
<el-table v-if="mode==='bigSystem'" ref="table1" :data="tableData" :header-row-style="tableTitleStyle" :cell-style="rowStyle" :span-method="objectSpanMethod" style="float: left;">
|
||||||
<el-table-column label="日期" width="300">
|
<el-table-column label="日期" width="300">
|
||||||
<template slot="header">
|
<template slot="header">
|
||||||
<div class="title-0">全年运行工况</div>
|
<div class="title-0">全年运行工况</div>
|
||||||
@ -17,10 +17,10 @@
|
|||||||
<div>运行</div>
|
<div>运行</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="button-box" @click="SmallAirConditioning">小新风空调</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
|
||||||
<div class="button-box">全新风空调</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">全新风空调</div>
|
||||||
<div class="button-box">非空调季节</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调季节</div>
|
||||||
<div class="button-box">冬季模式</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(3)">冬季模式</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="scope.$index == 4" class="table-4-top">
|
<div v-if="scope.$index == 4" class="table-4-top">
|
||||||
@ -29,11 +29,11 @@
|
|||||||
<div>模式</div>
|
<div>模式</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="button-box">站厅公共区火灾</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">站厅公共区火灾</div>
|
||||||
<div class="button-box">站台公共区火灾</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">站台公共区火灾</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button-box">非火灾工况突发事件</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(6)">非火灾工况突发事件</div>
|
||||||
<div class="button-box">全修模式</div>
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(7)">全停模式</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="scope.$index == 8" class="table-8-top">设备实际运行状态</div>
|
<div v-if="scope.$index == 8" class="table-8-top">设备实际运行状态</div>
|
||||||
<div v-if="scope.$index == 9" class="table-9-top">状态比较</div>
|
<div v-if="scope.$index == 9" class="table-9-top">状态比较</div>
|
||||||
@ -75,27 +75,205 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<el-table v-else-if="mode === 'smallSystem1'" ref="table2" :data="tableData1" :header-row-style="tableTitleStyle" :cell-style="rowStyle" :span-method="objectSpanMethod1" style="float: left;">
|
||||||
|
<el-table-column type="index" width="20" class-name="index-column">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="width: 100%;height: 26px;background: #FFF" />
|
||||||
|
<div class="index-column-cell">1</div>
|
||||||
|
<div class="index-column-cell">2</div>
|
||||||
|
<div class="index-column-cell">3</div>
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div class="index-column-cell">{{ scope.$index + 4 }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column width="300">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="font-size: 0;text-align: center;">
|
||||||
|
<div class="index-row-cell">1</div>
|
||||||
|
<div class="index-row-cell">2</div>
|
||||||
|
<div class="index-row-cell">3</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog title="" :visible.sync="dialogVisible" width="600px" class="dialog-div">
|
<div class="title-0">全年运行工况</div>
|
||||||
|
<div class="title-0">运行模式号</div>
|
||||||
|
<div class="title-0">模式状态</div>
|
||||||
|
<div class="title-0">火灾指示灯:</div>
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-if="scope.$index == 0" class="table-0-top">
|
||||||
|
<div class="left" style="width: 100px;">
|
||||||
|
<div>正</div>
|
||||||
|
<div>常</div>
|
||||||
|
<div>运</div>
|
||||||
|
<div>行</div>
|
||||||
|
</div>
|
||||||
|
<div class="right" style="width: 195px;">
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(0)">小新风空调</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(1)">小新风空调</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(2)">非空调工况</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(3)">35KV开关柜室事故排风</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="scope.$index == 4" style="display: flex;">
|
||||||
|
<div style="width: 100px;display: inline-block;margin: auto;">
|
||||||
|
<div>火</div>
|
||||||
|
<div>灾</div>
|
||||||
|
<div>模</div>
|
||||||
|
<div>式</div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100px;display: inline-block;">
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">控制室</div>
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">
|
||||||
|
<div>35KV</div>
|
||||||
|
<div>开关柜室</div>
|
||||||
|
</div>
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">
|
||||||
|
<div>整流变频</div>
|
||||||
|
<div>压器室1</div>
|
||||||
|
</div>
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">
|
||||||
|
<div>整流变频</div>
|
||||||
|
<div>压器室2</div>
|
||||||
|
</div>
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">
|
||||||
|
<div>直流开</div>
|
||||||
|
<div>关柜室</div>
|
||||||
|
</div>
|
||||||
|
<div style="height: 56px; border: 1px solid #FFF;">
|
||||||
|
<div>0.4KV</div>
|
||||||
|
<div>低压柜室</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100px;display: inline-block;">
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 28px;line-height: 28px;" @click="showModeDialog(4)">灭火</div>
|
||||||
|
<div class="button-box" style="width: 100%;height: 27px;line-height: 27px;" @click="showModeDialog(5)">排气</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="scope.$index === 16" style="height: 28px;line-height: 28px;">设备实际运行状态</div>
|
||||||
|
<div v-if="scope.$index === 17">状态比较</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :key="11" prop="code" label="模式编号" width="90">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="font-size: 0;text-align: center;height: 100%;">
|
||||||
|
<div class="index-row-cell" style="width: 90px;margin-left: -1px;">4</div>
|
||||||
|
<div style="font-size: 14px;height: 80px;line-height: 80px;">模式编号</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="smallSystem1">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="font-size: 0;text-align: center;height: 100%;">
|
||||||
|
<div class="index-row-cell" style="width: 90px;">5</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">6</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">7</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">8</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">9</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">10</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">11</div>
|
||||||
|
<div class="index-row-cell" style="width: 89px;">12</div>
|
||||||
|
<div style="font-size: 14px;">小系统1</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-table-column prop="airConditioner" label="空调机">
|
||||||
|
<el-table-column prop="ahu1" width="90" label="AHU-B101" />
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="exhaustFan" label="回排风机">
|
||||||
|
<el-table-column prop="raf1" width="90" label="RAF-B101" />
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="flowControl" label="电动风量调节阀">
|
||||||
|
<el-table-column prop="md1" width="90" label="MD-B101" />
|
||||||
|
<el-table-column prop="md2" width="90" label="MD-B102" />
|
||||||
|
<el-table-column prop="md3" width="90" label="MD-B103" />
|
||||||
|
<el-table-column prop="md4" width="90" label="MD-B104" />
|
||||||
|
<el-table-column prop="md5" width="90" label="MD-B105" />
|
||||||
|
<el-table-column prop="md6" width="90" label="MD-B106" />
|
||||||
|
</el-table-column>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="smallSystem2">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="font-size: 0;text-align: center;height: 100%;">
|
||||||
|
<div class="index-row-cell" style="width: 90px;">13</div>
|
||||||
|
<div class="index-row-cell" style="width: 99px;">14</div>
|
||||||
|
<div style="font-size: 14px;">小系统2</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-table-column prop="exhaustFan" label="排风机">
|
||||||
|
<el-table-column prop="eaf" width="90" label="EAF-B201" />
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="flowControl" label="电动风量调节阀">
|
||||||
|
<el-table-column prop="md7" width="100" label="MD-B201" />
|
||||||
|
</el-table-column>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="smallSystem4">
|
||||||
|
<template slot="header">
|
||||||
|
<div style="font-size: 0;text-align: center;height: 100%;">
|
||||||
|
<div class="index-row-cell" style="width: 90px;">15</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">16</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">17</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">18</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">19</div>
|
||||||
|
<div class="index-row-cell" style="width: 90px;">20</div>
|
||||||
|
<div class="index-row-cell" style="width: 89px;">21</div>
|
||||||
|
<div style="font-size: 14px;">小系统4</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-table-column prop="airConditioner" label="空调机">
|
||||||
|
<el-table-column prop="ahu2" width="90" label="AHU-B401" />
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="exhaustFan" label="回排风机">
|
||||||
|
<el-table-column prop="raf2" width="90" label="RAF-B401" />
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="flowControl" label="电动风量调节阀">
|
||||||
|
<el-table-column prop="md8" width="90" label="MD-B401" />
|
||||||
|
<el-table-column prop="md9" width="90" label="MD-B402" />
|
||||||
|
<el-table-column prop="md10" width="90" label="MD-B403" />
|
||||||
|
<el-table-column prop="md11" width="90" label="MD-B404" />
|
||||||
|
<el-table-column prop="md12" width="90" label="MD-B405" />
|
||||||
|
</el-table-column>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%;display:flex;justify-content:space-around;">
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('bigSystem')">至大系统模式表</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('smallSystem1')">至小系统模式表(一)</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('smallSystem2')">至小系统模式表(二)</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('ventilation')">至隧道通风系模式表</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('ventilation1')">至隧道通风系模式表1</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('ventilation2')">至隧道通风系模式表2</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('ventilation3')">至隧道通风系模式表3</div>
|
||||||
|
<div class="button-box" style="padding: 5px;" @click="switchedSystems('lightingSystem')">至照明模式表</div>
|
||||||
|
</div>
|
||||||
|
<el-dialog title="" :visible.sync="dialogVisible" width="600px" class="iscs_device_control_dialog">
|
||||||
<div>
|
<div>
|
||||||
<div class="dialog-box">
|
<div class="dialog-box">
|
||||||
<div class="title">模式类别</div>
|
<div class="title">模式类别</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="stand-title">会展中心站</div>
|
<div class="stand-title">{{ modeModel.stationName }}</div>
|
||||||
<div class="stand-control">系统模式控制</div>
|
<div class="stand-control">{{ modeModel.controlName }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dialog-box">
|
<div class="dialog-box">
|
||||||
<div class="title">启动模式号</div>
|
<div class="title">启动模式号</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="model">101</div>
|
<div class="model">{{ modeModel.modeCode }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<div class="dialog-footer" style="margin-top: 20px; text-align: center;">
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button style="margin-right: 13px;" @click="dialogVisible = false">取 消</el-button>
|
||||||
<el-button type="primary" @click="dialogVisible = false">执 行</el-button>
|
<el-button type="primary" @click="dialogVisible = false">执 行</el-button>
|
||||||
</span>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -103,7 +281,13 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
mode:'bigSystem',
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
|
modeModel: {
|
||||||
|
stationName: this.$route.query.stationName,
|
||||||
|
controlName: '系统模式控制',
|
||||||
|
modeCode: ''
|
||||||
|
},
|
||||||
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
|
tableTitleStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B'},
|
||||||
rowStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B' },
|
rowStyle: {'text-align': 'center', 'height': '28px', 'padding': '0', 'background': '#45607B' },
|
||||||
tableData: [{
|
tableData: [{
|
||||||
@ -196,9 +380,58 @@ export default {
|
|||||||
raf1: '打开',
|
raf1: '打开',
|
||||||
raf2: '打开',
|
raf2: '打开',
|
||||||
md1: '打开'
|
md1: '打开'
|
||||||
}]
|
}],
|
||||||
|
tableData1: [
|
||||||
|
{code: '301', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '302', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '303', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '304', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '305', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '306', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '307', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '308', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '309', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '310', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '311', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '312', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '313', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '314', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '315', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '316', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{code: '', ahu1: '打开', raf1: '打开', md1: '半开', md2: '半开', md3: '半开', md4: '打开', md5: '打开', md6: '关闭', eaf: '打开', md7: '打开', ahu2: '打开', raf2: '打开', md8: '打开', md9: '打开', md10: '打开', md11: '打开', md12: '打开'},
|
||||||
|
{}
|
||||||
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
modeName() {
|
||||||
|
let name = '';
|
||||||
|
switch (this.mode) {
|
||||||
|
case 'bigSystem':
|
||||||
|
name = '大系统模式表';
|
||||||
|
break;
|
||||||
|
case 'smallSystem1':
|
||||||
|
name = '小系统模式表(一)';
|
||||||
|
break;
|
||||||
|
case 'ventilation':
|
||||||
|
name = '隧道通风系模式表';
|
||||||
|
break;
|
||||||
|
case 'ventilation1':
|
||||||
|
name = '隧道通风系模式表(一)';
|
||||||
|
break;
|
||||||
|
case 'ventilation2':
|
||||||
|
name = '隧道通风系模式表(二)';
|
||||||
|
break;
|
||||||
|
case 'ventilation3':
|
||||||
|
name = '隧道通风系模式表(三)';
|
||||||
|
break;
|
||||||
|
case 'lightingSystem':
|
||||||
|
name = '照明模式表';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||||
if (columnIndex === 0) { // 只有第一行合并
|
if (columnIndex === 0) { // 只有第一行合并
|
||||||
@ -228,9 +461,49 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
SmallAirConditioning(item) {
|
objectSpanMethod1( {row, column, rowIndex, columnIndex}) {
|
||||||
console.log(item);
|
if (columnIndex === 1) {
|
||||||
|
if (rowIndex === 0) {
|
||||||
|
return {
|
||||||
|
rowspan: 4,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
} else if (rowIndex === 4) {
|
||||||
|
return {
|
||||||
|
rowspan: 12,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
} else if (rowIndex === 16 || rowIndex === 17) {
|
||||||
|
return {
|
||||||
|
rowspan: 1,
|
||||||
|
colspan: 2
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
rowspan: 0,
|
||||||
|
colspan: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
} else if (columnIndex === 2) {
|
||||||
|
if (rowIndex === 16 || rowIndex === 17) {
|
||||||
|
return {
|
||||||
|
rowspan: 0,
|
||||||
|
colspan: 0
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
rowspan: 1,
|
||||||
|
colspan: 1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showModeDialog(index) {
|
||||||
|
this.modeModel.modeCode = this.tableData[index].code;
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
|
},
|
||||||
|
switchedSystems(mode) {
|
||||||
|
this.mode = mode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -275,10 +548,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.button-box{
|
.button-box{
|
||||||
width: 100%;
|
|
||||||
height: 28px;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 28px;
|
|
||||||
background-color: #ccc;
|
background-color: #ccc;
|
||||||
float: left;
|
float: left;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
@ -307,6 +577,8 @@ export default {
|
|||||||
float: left;
|
float: left;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
color:#6F49FE;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
float: left;
|
float: left;
|
||||||
@ -319,15 +591,21 @@ export default {
|
|||||||
margin-right: 50px;
|
margin-right: 50px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
|
color:#6F49FE;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.stand-control{
|
.stand-control{
|
||||||
float: left;
|
float: left;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
|
color:#6F49FE;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.model{
|
.model{
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
|
color:#6F49FE;
|
||||||
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,15 +627,39 @@ export default {
|
|||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
color: #56E5DE;
|
color: #56E5DE;
|
||||||
}
|
}
|
||||||
|
.index-column-cell {
|
||||||
|
text-align:center;
|
||||||
|
width: 100%;
|
||||||
|
height: 28px;
|
||||||
|
border-top: 1px solid #203244;
|
||||||
|
border-left: 2px solid #A3A3A3;
|
||||||
|
border-bottom: 1px solid #203244;
|
||||||
|
border-right: 1px solid #203244;
|
||||||
|
}
|
||||||
|
.index-row-cell {
|
||||||
|
width: 99px;
|
||||||
|
height: 20px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
display: inline-block;
|
||||||
|
border-top: 2px solid #A3A3A3;
|
||||||
|
border-left: 1px solid #203244;
|
||||||
|
border-bottom: 2px solid #203244;
|
||||||
|
border-right: 1px solid #203244;
|
||||||
|
}
|
||||||
/deep/{
|
/deep/{
|
||||||
.el-table--border{
|
.el-table--border{
|
||||||
background: #45607B;
|
background: #45607B;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
.index-column{
|
||||||
|
border: 0 !important;
|
||||||
|
}
|
||||||
.el-table th, .el-table tr{
|
.el-table th, .el-table tr{
|
||||||
background: #45607B;
|
background: #45607B;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
.el-table::before{
|
.el-table::before{
|
||||||
background: #45607B;
|
background: #45607B;
|
||||||
@ -370,7 +672,7 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.el-table--scrollable-x .el-table__body-wrapper{
|
.el-table--scrollable-x .el-table__body-wrapper{
|
||||||
height: 400px;
|
/*height: 400px;*/
|
||||||
}
|
}
|
||||||
.el-table .cell,
|
.el-table .cell,
|
||||||
.el-table th div,
|
.el-table th div,
|
||||||
@ -378,8 +680,72 @@ export default {
|
|||||||
.el-table--border th:first-child .cell{
|
.el-table--border th:first-child .cell{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
.dialog-div .el-dialog__body{
|
}
|
||||||
padding-bottom: 0px;
|
</style>
|
||||||
}
|
<style>
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-dialog__header {
|
||||||
|
width: 100%;
|
||||||
|
height: 30px;
|
||||||
|
background-image: linear-gradient(#F0DBCE,#ECB85E, #F0DBCE);
|
||||||
|
}
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-dialog__headerbtn{
|
||||||
|
position: absolute;
|
||||||
|
top: 5px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 0;
|
||||||
|
background: 0 0;
|
||||||
|
outline: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 16px;
|
||||||
|
border: 1px solid #FFF;
|
||||||
|
width: 20px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-dialog__body {
|
||||||
|
padding: 30px 20px;
|
||||||
|
color: #606266;
|
||||||
|
font-size: 14px;
|
||||||
|
word-break: break-all;
|
||||||
|
background: #CDC6C0;
|
||||||
|
}
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-button {
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 1;
|
||||||
|
white-space: nowrap;
|
||||||
|
cursor: pointer;
|
||||||
|
background: #CACACA;
|
||||||
|
border-top: 1px solid #3D3B39;
|
||||||
|
border-left: 1px solid #3D3B39;
|
||||||
|
border-bottom: 1px solid #847B77;
|
||||||
|
border-right: 1px solid #847B77;
|
||||||
|
color: #000;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
text-align: center;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
outline: 0;
|
||||||
|
margin: 0;
|
||||||
|
-webkit-transition: .1s;
|
||||||
|
transition: .1s;
|
||||||
|
padding: 0;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 12px;
|
||||||
|
height: 30px;
|
||||||
|
width: 70px;
|
||||||
|
border-radius: 0;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-button :before {
|
||||||
|
content: '';
|
||||||
|
width: 70px;
|
||||||
|
height: 30px;
|
||||||
|
border-top: 1px solid #FFF;
|
||||||
|
border-left: 1px solid #FFF;
|
||||||
|
position: absolute;
|
||||||
|
top: -2px;
|
||||||
|
left: -2px;
|
||||||
|
}
|
||||||
|
.iscs_device_control_dialog .el-dialog .el-button:hover {
|
||||||
|
background-image: linear-gradient(#E2E4E5,#D5D6D8,#E2E4E5);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -100,13 +100,20 @@ export default {
|
|||||||
FireHydranAlarmButton: '点型火灾探测器',
|
FireHydranAlarmButton: '点型火灾探测器',
|
||||||
GasFireControl:'气体灭火控制器',
|
GasFireControl:'气体灭火控制器',
|
||||||
LightingGroup: '照明',
|
LightingGroup: '照明',
|
||||||
Electrically: '',
|
|
||||||
VolumeControlDamper: '电动风阀',
|
VolumeControlDamper: '电动风阀',
|
||||||
SmookExhaustFd: '排烟防火阀',
|
SmookExhaustFd: '排烟防火阀',
|
||||||
Ventilator: '普通风机',
|
Ventilator: '普通风机',
|
||||||
AirConditioner: '组合式空调机组',
|
AirConditioner: '组合式空调机组',
|
||||||
FireDamper: '防火阀',
|
FireDamper: '防火阀',
|
||||||
SmookProofFd: '防烟防火阀'
|
SmookProofFd: '防烟防火阀',
|
||||||
|
CoolTower: '冷却塔',
|
||||||
|
Chiller: '冷水机组',
|
||||||
|
ElectricButterflyValve: '电动蝶阀',
|
||||||
|
BalancedElectric: '动态平衡电动调节阀',
|
||||||
|
FrozenPump: '冷冻泵、冷却泵',
|
||||||
|
TunnelFan: '隧道风机',
|
||||||
|
OrbitalVentilator: '排热风机',
|
||||||
|
Draught: '水泵'
|
||||||
},
|
},
|
||||||
modeMap: {
|
modeMap: {
|
||||||
standFAS: '火灾报警',
|
standFAS: '火灾报警',
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-dialogDrag
|
v-dialogDrag
|
||||||
:visible.sync="dialogShow"
|
:visible.sync="dialogShow"
|
||||||
class="graphic_element_dialog"
|
class="graphic_element_dialog"
|
||||||
width="480px"
|
:width="width"
|
||||||
:before-close="doClose"
|
:before-close="doClose"
|
||||||
:z-index="2000"
|
:z-index="2000"
|
||||||
:modal="false"
|
:modal="false"
|
||||||
@ -18,12 +18,24 @@
|
|||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<img style="height: 30px" :src="graphicEleMap[scope.row.graphicEle]">
|
<img style="height: 30px" :src="graphicEleMap[scope.row.graphicEle]">
|
||||||
|
<div class="shorthand">{{ scope.row.shorthand }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="deviceType" label="设备类型" />
|
<el-table-column prop="deviceType" label="设备类型" />
|
||||||
|
<el-table-column
|
||||||
|
v-if="isDoubleRow"
|
||||||
|
prop="graphicEle1"
|
||||||
|
label="图元"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<img style="height: 30px" :src="graphicEleMap[scope.row.graphicEle1]">
|
||||||
|
<div class="shorthand">{{ scope.row.shorthand1 }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="isDoubleRow" prop="deviceType1" label="设备类型" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="color: #0DC8DE;font-size: 14px;margin-top: 20px;"><span>注:图元颜色含义</span></div>
|
<div style="color: #0DC8DE;font-size: 14px;margin-top: 20px;"><span>注:图元颜色含义</span></div>
|
||||||
<div style="color: #0DC8DE;font-size: 14px;margin-left: 20px;"><span>绿色:正常。红色:报警</span></div>
|
<div style="color: #0DC8DE;font-size: 14px;margin-left: 20px;"><span>{{ meaning }}</span></div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -32,6 +44,19 @@ import ManualAlarm from '@/assets/iscs_icon/manual_alarm.png';
|
|||||||
import FireHydrant from '@/assets/iscs_icon/fire_hydrant.png';
|
import FireHydrant from '@/assets/iscs_icon/fire_hydrant.png';
|
||||||
import SmokeDetector from '@/assets/iscs_icon/smoke_detector.png';
|
import SmokeDetector from '@/assets/iscs_icon/smoke_detector.png';
|
||||||
import GasFireControl from '@/assets/iscs_icon/gas_fire_control.png';
|
import GasFireControl from '@/assets/iscs_icon/gas_fire_control.png';
|
||||||
|
import AirConditioner from '@/assets/iscs_icon/air_conditioner.png';
|
||||||
|
import Ventilator from '@/assets/iscs_icon/ventilator.png';
|
||||||
|
import TunnelFan from '@/assets/iscs_icon/tunnel_fan.png';
|
||||||
|
import OrbitalVentilator from '@/assets/iscs_icon/orbital_ventilator.png';
|
||||||
|
import FireDamper from '@/assets/iscs_icon/fire_damper.png';
|
||||||
|
import SmookExhaustFd from '@/assets/iscs_icon/smook_exhaust_fd.png';
|
||||||
|
import VolumeControlDamper from '@/assets/iscs_icon/volume_control_damper.png';
|
||||||
|
import SmookProofFd from '@/assets/iscs_icon/smook_proof_fd.png';
|
||||||
|
import CoolTower from '@/assets/iscs_icon/cool_tower.png';
|
||||||
|
import Chiller from '@/assets/iscs_icon/chiller.png';
|
||||||
|
import ElectricButterflyValve from '@/assets/iscs_icon/electric_butterfly_value.png';
|
||||||
|
import BalancedElectric from '@/assets/iscs_icon/balanced_electric.png';
|
||||||
|
import FrozenPump from '@/assets/iscs_icon/frozen_pump.png';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GraphicEle',
|
name: 'GraphicEle',
|
||||||
@ -40,31 +65,38 @@ export default {
|
|||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
standFASData: [
|
standFASData: [
|
||||||
{graphicEle: 'manualAlarm', deviceType: '手动报警按钮'},
|
{graphicEle: 'manualAlarm', deviceType: '手动报警按钮', shorthand: ''},
|
||||||
{graphicEle: 'fireHydrant', deviceType: '消火栓按钮'},
|
{graphicEle: 'fireHydrant', deviceType: '消火栓按钮', shorthand: ''},
|
||||||
{graphicEle: 'smokeDetector', deviceType: '点型火灾探测器'},
|
{graphicEle: 'smokeDetector', deviceType: '点型火灾探测器', shorthand: ''},
|
||||||
{graphicEle: 'gasFireControl', deviceType: '气体灭火控制器'}
|
{graphicEle: 'gasFireControl', deviceType: '气体灭火控制器', shorthand: ''}
|
||||||
],
|
],
|
||||||
basData: [
|
basData: [
|
||||||
{graphicEle: 'AirConditioner', deviceType: '组合式空调机组、空调器'},
|
{graphicEle: 'AirConditioner', deviceType: '组合式空调机组、空调器', shorthand: '', graphicEle1: 'CoolTower', deviceType1: '冷却塔', shorthand1: ''},
|
||||||
{graphicEle: 'Ventilator', deviceType: '普通风机'},
|
{graphicEle: 'Ventilator', deviceType: '普通风机', shorthand: '', graphicEle1: 'Chiller', deviceType1: '冷水机组', shorthand1: ''},
|
||||||
{graphicEle: '', deviceType: '隧道风机'},
|
{graphicEle: 'TunnelFan', deviceType: '隧道风机', shorthand: '', graphicEle1: 'ElectricButterflyValve', deviceType1: '电动蝶阀', shorthand1: 'MV'},
|
||||||
{graphicEle: '', deviceType: '排热风机'},
|
{graphicEle: 'OrbitalVentilator', deviceType: '排热风机', shorthand: '', graphicEle1: 'BalancedElectric', deviceType1: '动态平衡电动调节阀', shorthand1:'BV'},
|
||||||
{graphicEle: 'FireDamper', deviceType: '防火阀'},
|
{graphicEle: 'FireDamper', deviceType: '防火阀', shorthand: 'FD1', graphicEle1: 'FrozenPump', deviceType1: '冷冻泵、冷却泵', shorthand1: 'LD、LQ'},
|
||||||
{graphicEle: 'SmookExhaustFd', deviceType: '排烟防火阀'},
|
{graphicEle: 'SmookExhaustFd', deviceType: '排烟防火阀', shorthand: 'FD2', graphicEle1: 'SmookProofFd', deviceType1: '防烟防火阀', shorthand1: 'SFD'},
|
||||||
{graphicEle: 'VolumeControlDamper', deviceType: '电动风阀'},
|
{graphicEle: 'VolumeControlDamper', deviceType: '电动风阀', shorthand: 'MD'}
|
||||||
{graphicEle: 'SmookProofFd', deviceType: '防烟防火阀'},
|
|
||||||
{graphicEle: '', deviceType: '冷却塔'},
|
|
||||||
{graphicEle: '', deviceType: '冷水机组'},
|
|
||||||
{graphicEle: '', deviceType: '电动蝶阀'},
|
|
||||||
{graphicEle: '', deviceType: '动态平衡电动调节阀'},
|
|
||||||
{graphicEle: '', deviceType: '冷冻泵、冷却泵'}
|
|
||||||
],
|
],
|
||||||
graphicEleMap: {
|
graphicEleMap: {
|
||||||
manualAlarm: ManualAlarm,
|
manualAlarm: ManualAlarm,
|
||||||
fireHydrant: FireHydrant,
|
fireHydrant: FireHydrant,
|
||||||
smokeDetector: SmokeDetector,
|
smokeDetector: SmokeDetector,
|
||||||
gasFireControl: GasFireControl
|
gasFireControl: GasFireControl,
|
||||||
|
AirConditioner: AirConditioner,
|
||||||
|
Ventilator: Ventilator,
|
||||||
|
TunnelFan: TunnelFan,
|
||||||
|
OrbitalVentilator: OrbitalVentilator,
|
||||||
|
FireDamper: FireDamper,
|
||||||
|
SmookExhaustFd: SmookExhaustFd,
|
||||||
|
VolumeControlDamper: VolumeControlDamper,
|
||||||
|
SmookProofFd: SmookProofFd,
|
||||||
|
CoolTower: CoolTower,
|
||||||
|
Chiller: Chiller,
|
||||||
|
ElectricButterflyValve: ElectricButterflyValve,
|
||||||
|
BalancedElectric: BalancedElectric,
|
||||||
|
FrozenPump:FrozenPump
|
||||||
},
|
},
|
||||||
styleObject: {
|
styleObject: {
|
||||||
background: '#465F79',
|
background: '#465F79',
|
||||||
@ -72,30 +104,26 @@ export default {
|
|||||||
borderBottom: '2px solid #FFF',
|
borderBottom: '2px solid #FFF',
|
||||||
borderRight: '2px solid #FFF',
|
borderRight: '2px solid #FFF',
|
||||||
textAlign: 'center'
|
textAlign: 'center'
|
||||||
}
|
},
|
||||||
|
tableData: [],
|
||||||
|
title: '',
|
||||||
|
meaning: '',
|
||||||
|
width: '480px',
|
||||||
|
doubleRowList: ['bigSystem', 'waterSystem']
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
isDoubleRow() {
|
||||||
let title = '';
|
return this.doubleRowList.includes(this.$route.params.mode);
|
||||||
switch (this.$route.params.mode) {
|
|
||||||
case 'standFAS':
|
|
||||||
title = 'fAS火灾图元详情';
|
|
||||||
}
|
}
|
||||||
return title;
|
|
||||||
},
|
},
|
||||||
tableData() {
|
watch: {
|
||||||
let tableData = [];
|
'$route.params.mode':function() {
|
||||||
switch (this.$route.params.mode) {
|
this.initData();
|
||||||
case 'standFAS':
|
|
||||||
case 'stationHallFAS':
|
|
||||||
tableData = this.standFASData;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return tableData;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.initData();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow() {
|
doShow() {
|
||||||
@ -104,6 +132,24 @@ export default {
|
|||||||
doClose() {
|
doClose() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
switch (this.$route.params.mode) {
|
||||||
|
case 'standFAS':
|
||||||
|
case 'stationHallFAS':
|
||||||
|
this.title = 'fAS火灾图元详情';
|
||||||
|
this.tableData = this.standFASData;
|
||||||
|
this.meaning = '绿色:正常。红色:报警';
|
||||||
|
this.width = '480px';
|
||||||
|
break;
|
||||||
|
case 'bigSystem':
|
||||||
|
case 'waterSystem':
|
||||||
|
this.title = 'BAS通风空调图元详情';
|
||||||
|
this.width = '600px';
|
||||||
|
this.tableData = this.basData;
|
||||||
|
this.meaning = '白色:关闭/停止。绿色:打开/运行。红色:报警。黄色:故障。';
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -135,4 +181,10 @@ export default {
|
|||||||
background: #465F79;
|
background: #465F79;
|
||||||
border: 3px solid #FFF;
|
border: 3px solid #FFF;
|
||||||
}
|
}
|
||||||
|
.shorthand {
|
||||||
|
display: inline-block ;
|
||||||
|
color: #0DC8DE;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -119,7 +119,15 @@ export default {
|
|||||||
'Ventilator',
|
'Ventilator',
|
||||||
'AirConditioner',
|
'AirConditioner',
|
||||||
'FireDamper',
|
'FireDamper',
|
||||||
'SmookProofFd'
|
'SmookProofFd',
|
||||||
|
'CoolTower',
|
||||||
|
'Chiller',
|
||||||
|
'ElectricButterflyValve',
|
||||||
|
'BalancedElectric',
|
||||||
|
'FrozenPump',
|
||||||
|
'TunnelFan',
|
||||||
|
'OrbitalVentilator',
|
||||||
|
'Draught'
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -129,7 +137,6 @@ export default {
|
|||||||
},
|
},
|
||||||
'$store.state.iscs.selectedCount': function() {
|
'$store.state.iscs.selectedCount': function() {
|
||||||
const device = this.$store.state.iscs.selected;
|
const device = this.$store.state.iscs.selected;
|
||||||
console.log(device, '11111111111111');
|
|
||||||
if (device && device._type === 'IscsButton' && device.function === 'GraphicEle') {
|
if (device && device._type === 'IscsButton' && device.function === 'GraphicEle') {
|
||||||
this.$refs.graphicEle.doShow();
|
this.$refs.graphicEle.doShow();
|
||||||
} else if (device && this.deviceList.includes(device._type)) {
|
} else if (device && this.deviceList.includes(device._type)) {
|
||||||
|
@ -45,6 +45,7 @@ export default {
|
|||||||
},
|
},
|
||||||
selected: null, // 选择复制元素
|
selected: null, // 选择复制元素
|
||||||
copyModel: {}, // 复制元素内容
|
copyModel: {}, // 复制元素内容
|
||||||
|
copyList: [],
|
||||||
showBackButton: true,
|
showBackButton: true,
|
||||||
initTime: '',
|
initTime: '',
|
||||||
started: false,
|
started: false,
|
||||||
@ -139,21 +140,41 @@ export default {
|
|||||||
if (this.selected && this.selected.code) {
|
if (this.selected && this.selected.code) {
|
||||||
switch (hook) {
|
switch (hook) {
|
||||||
case 'Ctrl_C': {
|
case 'Ctrl_C': {
|
||||||
if (this.selected._type != "CheckBox") {
|
const list = this.getSelectList();
|
||||||
this.copyModel = deepAssign({}, this.selected);
|
if (list.length) {
|
||||||
this.copyModel.point = {
|
this.copyList = [];
|
||||||
x: this.selected.point.x + 10,
|
const mapIscs = {};
|
||||||
y: this.selected.point.y + 10
|
list.forEach(item => {
|
||||||
};
|
if (item && item.code) {
|
||||||
|
const copyModel = this.copyModelInfo(item, 30);
|
||||||
|
const type1 = item._type.charAt(0).toLowerCase() + item._type.slice(1); // .toLowerCase()
|
||||||
|
if (!mapIscs[type1 + 'List']) {
|
||||||
|
mapIscs[type1 + 'List'] = this.iscs[type1 + 'List'] || [];
|
||||||
|
}
|
||||||
|
const list = mapIscs[type1 + 'List'] || [];
|
||||||
|
copyModel.code = getUID(item._type, list);
|
||||||
|
mapIscs[type1 + 'List'].push(copyModel);
|
||||||
|
this.copyList.push(copyModel);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (this.selected._type != 'CheckBox') {
|
||||||
|
this.copyModel = this.copyModelInfo(this.selected, 10);
|
||||||
const type1 = this.selected._type.charAt(0).toLowerCase() + this.selected._type.slice(1); // .toLowerCase()
|
const type1 = this.selected._type.charAt(0).toLowerCase() + this.selected._type.slice(1); // .toLowerCase()
|
||||||
this.copyModel.code = getUID(this.selected._type, this.iscs[type1 + 'List'] || []);
|
this.copyModel.code = getUID(this.selected._type, this.iscs[type1 + 'List'] || []);
|
||||||
} else {
|
} else {
|
||||||
this.copyModel = {}
|
this.copyModel = {};
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case 'Ctrl_V':
|
case 'Ctrl_V': {
|
||||||
|
const list = this.getSelectList();
|
||||||
|
if (list.length) {
|
||||||
|
this.copyList.forEach(item => {
|
||||||
|
item.code && this.createDataModel(item);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
this.copyModel.code && this.createDataModel(this.copyModel);
|
this.copyModel.code && this.createDataModel(this.copyModel);
|
||||||
break;
|
}
|
||||||
|
} break;
|
||||||
// case 'Delete': this.$store.dispatch('map/setDeleteCount');
|
// case 'Delete': this.$store.dispatch('map/setDeleteCount');
|
||||||
// break;
|
// break;
|
||||||
// case 'Update':
|
// case 'Update':
|
||||||
@ -163,6 +184,27 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
copyModelInfo(model, length) { // copy 模块信息
|
||||||
|
const copyModel = deepAssign({}, model);
|
||||||
|
if (copyModel._type == 'IscsLine') {
|
||||||
|
copyModel.point1 = {
|
||||||
|
x: model.point1.x + length,
|
||||||
|
y: model.point1.y + length
|
||||||
|
};
|
||||||
|
copyModel.point2 = {
|
||||||
|
x: model.point2.x + length,
|
||||||
|
y: model.point2.y + length
|
||||||
|
};
|
||||||
|
}
|
||||||
|
copyModel.point = {
|
||||||
|
x: model.point.x + length,
|
||||||
|
y: model.point.y + length
|
||||||
|
};
|
||||||
|
return copyModel;
|
||||||
|
},
|
||||||
|
getSelectList() {
|
||||||
|
return this.$iscs.getCopyList() || [];
|
||||||
|
},
|
||||||
createDataModel(model) {
|
createDataModel(model) {
|
||||||
const newModel = deviceFactory(model._type, model);
|
const newModel = deviceFactory(model._type, model);
|
||||||
this.$store.dispatch('iscs/updateIscsDevices', newModel.model);
|
this.$store.dispatch('iscs/updateIscsDevices', newModel.model);
|
||||||
|
@ -141,7 +141,6 @@ import axios from 'axios';
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updatetrainlist(){
|
updatetrainlist(){
|
||||||
console.log(this.group);
|
|
||||||
getSimulationTrainlistNew(this.group).then(netdata => {
|
getSimulationTrainlistNew(this.group).then(netdata => {
|
||||||
this.options = [];
|
this.options = [];
|
||||||
this.trainlist = netdata.data;
|
this.trainlist = netdata.data;
|
||||||
@ -168,9 +167,16 @@ import axios from 'axios';
|
|||||||
|
|
||||||
this.options.push(option);
|
this.options.push(option);
|
||||||
}
|
}
|
||||||
|
this.options.sort(
|
||||||
|
function(obj1,obj2) {
|
||||||
|
let val1 = obj1.value;
|
||||||
|
let val2 = obj2.value;
|
||||||
|
return val1 - val2;
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
},
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -4,8 +4,16 @@
|
|||||||
<!-- <div id="atb" class="panebutton" style="top:8%;left:3%;" @click="atbclick">
|
<!-- <div id="atb" class="panebutton" style="top:8%;left:3%;" @click="atbclick">
|
||||||
<img class="buttonimg" :src="greenimg" />
|
<img class="buttonimg" :src="greenimg" />
|
||||||
<div class="buttontext">{{ $t('jlmap3d.ATBStart') }}</div>
|
<div class="buttontext">{{ $t('jlmap3d.ATBStart') }}</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 换端 -->
|
||||||
|
<div id="ch" class="panebutton" style="top:8%;left:3%;"@click="changehead">
|
||||||
|
<img class="buttonimg" :src="greenimg" />
|
||||||
|
<div class="buttontext">{{ $t('jlmap3d.ChangeHead') }}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- BM/CBTC -->
|
<!-- BM/CBTC -->
|
||||||
|
|
||||||
<div id="bmcbtc" class="panebutton" style="top:8%;left:17%;" @click="bmcbtcclick">
|
<div id="bmcbtc" class="panebutton" style="top:8%;left:17%;" @click="bmcbtcclick">
|
||||||
<img class="buttonimg" :src="cbtcbuttonimg" />
|
<img class="buttonimg" :src="cbtcbuttonimg" />
|
||||||
<div class="buttontext">BM/CBTC</div>
|
<div class="buttontext">BM/CBTC</div>
|
||||||
@ -132,7 +140,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
// import { sendSimulationCommand } from '@/api/simulation.js';
|
// import { sendSimulationCommand } from '@/api/simulation.js';
|
||||||
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
|
import { trainSimulationDriveMode, trainSimulationAto ,trainSimulationAtp,trainSimulationChangeHead } from '@/jlmap3d/jl3ddrive/drivecontrol/simulation.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TopRightPane',
|
name: 'TopRightPane',
|
||||||
@ -171,9 +179,13 @@
|
|||||||
driverlighttf:"rotate(0deg)",
|
driverlighttf:"rotate(0deg)",
|
||||||
headlighttf:"rotate(0deg)",
|
headlighttf:"rotate(0deg)",
|
||||||
|
|
||||||
|
atoOn:null,
|
||||||
atobuttonimg:"/static/jl3d/control/green.png",
|
atobuttonimg:"/static/jl3d/control/green.png",
|
||||||
|
driveMode:null,
|
||||||
rmbuttonimg:"/static/jl3d/control/green.png",
|
rmbuttonimg:"/static/jl3d/control/green.png",
|
||||||
|
runLevel:null,
|
||||||
cbtcbuttonimg:"/static/jl3d/control/green.png",
|
cbtcbuttonimg:"/static/jl3d/control/green.png",
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -342,6 +354,11 @@
|
|||||||
|
|
||||||
atbclick: function (e){
|
atbclick: function (e){
|
||||||
|
|
||||||
|
},
|
||||||
|
changehead: function(e){
|
||||||
|
trainSimulationChangeHead(this.group,this.groupNum).then(netdata => {
|
||||||
|
console.log(netdata);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
bmcbtcclick: function (e){
|
bmcbtcclick: function (e){
|
||||||
trainSimulationDriveMode(this.group,this.groupNum,"CM").then(netdata => {
|
trainSimulationDriveMode(this.group,this.groupNum,"CM").then(netdata => {
|
||||||
@ -375,23 +392,30 @@
|
|||||||
},
|
},
|
||||||
updatabuttonlight: function (data){
|
updatabuttonlight: function (data){
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
|
if(data.runLevel!= this.runLevel){
|
||||||
|
this.runLevel = data.runLevel;
|
||||||
if(data.runLevel == "CBTC"){
|
if(data.runLevel == "CBTC"){
|
||||||
this.cbtcbuttonimg = this.greenlimg;
|
this.cbtcbuttonimg = this.greenlimg;
|
||||||
}else{
|
}else{
|
||||||
this.cbtcbuttonimg = this.greenimg;
|
this.cbtcbuttonimg = this.greenimg;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if(data.driveMode!= this.driveMode){
|
||||||
|
this.driveMode = data.driveMode;
|
||||||
if(data.driveMode == "RM"){
|
if(data.driveMode == "RM"){
|
||||||
this.rmbuttonimg = this.greenlimg;
|
this.rmbuttonimg = this.greenlimg;
|
||||||
}else{
|
}else{
|
||||||
this.rmbuttonimg = this.greenimg;
|
this.rmbuttonimg = this.greenimg;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if(data.atoOn!= this.atoOn){
|
||||||
|
this.atoOn = data.atoOn;
|
||||||
if(data.atoOn){
|
if(data.atoOn){
|
||||||
this.atobuttonimg = this.greenlimg;
|
this.atobuttonimg = this.greenlimg;
|
||||||
}else{
|
}else{
|
||||||
this.atobuttonimg = this.greenimg;
|
this.atobuttonimg = this.greenimg;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -118,9 +118,9 @@ export default {
|
|||||||
nimage:null,
|
nimage:null,
|
||||||
dstate:"info",
|
dstate:"info",
|
||||||
dimage:null,
|
dimage:null,
|
||||||
m1state:"rm",
|
m1state:null,
|
||||||
m1image:null,
|
m1image:null,
|
||||||
m2state:"cbtc",
|
m2state:"null",
|
||||||
m2image:null,
|
m2image:null,
|
||||||
m3state:"zhefan",
|
m3state:"zhefan",
|
||||||
m3image:null,
|
m3image:null,
|
||||||
@ -134,7 +134,8 @@ export default {
|
|||||||
m7image:null,
|
m7image:null,
|
||||||
m8state:"jinjizhidong",
|
m8state:"jinjizhidong",
|
||||||
m8image:null,
|
m8image:null,
|
||||||
m9state:"ato",
|
m9state1:null,
|
||||||
|
m9state2:null,
|
||||||
m9image:null,
|
m9image:null,
|
||||||
m10state:"jinduan",
|
m10state:"jinduan",
|
||||||
m10image:null,
|
m10image:null,
|
||||||
@ -202,7 +203,6 @@ export default {
|
|||||||
},
|
},
|
||||||
updatetrainstatus(newdata){
|
updatetrainstatus(newdata){
|
||||||
//更新车组号
|
//更新车组号
|
||||||
// console.log(newdata);
|
|
||||||
this.updatespeed(newdata.v);
|
this.updatespeed(newdata.v);
|
||||||
|
|
||||||
this.updateatpspeed(newdata.pv);
|
this.updateatpspeed(newdata.pv);
|
||||||
@ -243,112 +243,23 @@ export default {
|
|||||||
},
|
},
|
||||||
updatedrivedata(drivedata){
|
updatedrivedata(drivedata){
|
||||||
// console.log(drivedata);
|
// console.log(drivedata);
|
||||||
if(drivedata == "breaker"){
|
// // console.log(drivedata);
|
||||||
|
// if(drivedata == "breaker"){
|
||||||
}
|
//
|
||||||
if(drivedata == "carwash"){
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "aircom"){
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "atb"){
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "bm"){
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "rm"){
|
|
||||||
if(this.m1state == "start"){
|
|
||||||
this.m1state = 'rm';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}else if(this.m1state == "rm"){
|
|
||||||
this.m1state = 'am';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}else if(this.m1state == "am"){
|
|
||||||
this.m1state = 'cm';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}else if(this.m1state == "cm"){
|
|
||||||
this.m1state = 'start';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "cbtc"){
|
|
||||||
if(this.m2state == "start"){
|
|
||||||
this.m2state = 'il';
|
|
||||||
this.m2image = this.images.m2[this.m2state];
|
|
||||||
}else if(this.m2state == "il"){
|
|
||||||
this.m2state = 'itc';
|
|
||||||
this.m2image = this.images.m2[this.m2state];
|
|
||||||
}else if(this.m2state == "itc"){
|
|
||||||
this.m2state = 'cbtc';
|
|
||||||
this.m2image = this.images.m2[this.m2state];
|
|
||||||
}else if(this.m2state == "cbtc"){
|
|
||||||
this.m2state = 'start';
|
|
||||||
this.m2image = this.images.m2[this.m2state];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//doormode
|
|
||||||
if(drivedata == "AA"){
|
|
||||||
this.m7state = 'aoac';
|
|
||||||
this.m7image = this.images.m7[this.m7state];
|
|
||||||
}
|
|
||||||
if(drivedata == "AM"){
|
|
||||||
this.m7state = 'aomc';
|
|
||||||
this.m7image = this.images.m7[this.m7state];
|
|
||||||
}
|
|
||||||
if(drivedata == "MM"){
|
|
||||||
this.m7state = 'momc';
|
|
||||||
this.m7image = this.images.m7[this.m7state];
|
|
||||||
}
|
|
||||||
|
|
||||||
if(drivedata == "elflute"){
|
|
||||||
|
|
||||||
}
|
|
||||||
if(drivedata == "relieve"){
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
updatarunlevel(drivedata){
|
|
||||||
if(drivedata == "CBTC"){
|
|
||||||
this.m2state = 'cbtc';
|
|
||||||
this.m2image = this.images.m2[this.m2state];
|
|
||||||
// if(this.m2state == "start"){
|
|
||||||
// this.m2state = 'il';
|
|
||||||
// this.m2image = this.images.m2[this.m2state];
|
|
||||||
// }else if(this.m2state == "il"){
|
|
||||||
// this.m2state = 'itc';
|
|
||||||
// this.m2image = this.images.m2[this.m2state];
|
|
||||||
// }else if(this.m2state == "itc"){
|
|
||||||
|
|
||||||
// }else if(this.m2state == "cbtc"){
|
|
||||||
// this.m2state = 'start';
|
|
||||||
// this.m2image = this.images.m2[this.m2state];
|
|
||||||
// }
|
// }
|
||||||
}else if(drivedata == "IL"){
|
// if(drivedata == "carwash"){
|
||||||
this.m2state = 'il';
|
//
|
||||||
this.m2image = this.images.m2[this.m2state];
|
// }
|
||||||
}else{
|
// if(drivedata == "aircom"){
|
||||||
this.m2state = 'start';
|
//
|
||||||
this.m2image = this.images.m2[this.m2state];
|
// }
|
||||||
}
|
// if(drivedata == "atb"){
|
||||||
},
|
//
|
||||||
updatedrivemode(drivedata){
|
// }
|
||||||
if(drivedata == "CM"){
|
// if(drivedata == "bm"){
|
||||||
this.m1state = 'cm';
|
//
|
||||||
this.m1image = this.images.m1[this.m1state];
|
// }
|
||||||
}else if(drivedata == "RM"){
|
// if(drivedata == "rm"){
|
||||||
this.m1state = 'rm';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}else if(drivedata == "AM"){
|
|
||||||
this.m1state = 'am';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}else{
|
|
||||||
this.m1state = 'start';
|
|
||||||
this.m1image = this.images.m1[this.m1state];
|
|
||||||
}
|
|
||||||
|
|
||||||
// if(this.m1state == "start"){
|
// if(this.m1state == "start"){
|
||||||
// this.m1state = 'rm';
|
// this.m1state = 'rm';
|
||||||
// this.m1image = this.images.m1[this.m1state];
|
// this.m1image = this.images.m1[this.m1state];
|
||||||
@ -362,18 +273,99 @@ export default {
|
|||||||
// this.m1state = 'start';
|
// this.m1state = 'start';
|
||||||
// this.m1image = this.images.m1[this.m1state];
|
// this.m1image = this.images.m1[this.m1state];
|
||||||
// }
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// if(drivedata == "cbtc"){
|
||||||
|
// if(this.m2state == "start"){
|
||||||
|
// this.m2state = 'il';
|
||||||
|
// this.m2image = this.images.m2[this.m2state];
|
||||||
|
// }else if(this.m2state == "il"){
|
||||||
|
// this.m2state = 'itc';
|
||||||
|
// this.m2image = this.images.m2[this.m2state];
|
||||||
|
// }else if(this.m2state == "itc"){
|
||||||
|
// this.m2state = 'cbtc';
|
||||||
|
// this.m2image = this.images.m2[this.m2state];
|
||||||
|
// }else if(this.m2state == "cbtc"){
|
||||||
|
// this.m2state = 'start';
|
||||||
|
// this.m2image = this.images.m2[this.m2state];
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// //doormode
|
||||||
|
// if(drivedata == "AA"){
|
||||||
|
// this.m7state = 'aoac';
|
||||||
|
// this.m7image = this.images.m7[this.m7state];
|
||||||
|
// }
|
||||||
|
// if(drivedata == "AM"){
|
||||||
|
// this.m7state = 'aomc';
|
||||||
|
// this.m7image = this.images.m7[this.m7state];
|
||||||
|
// }
|
||||||
|
// if(drivedata == "MM"){
|
||||||
|
// this.m7state = 'momc';
|
||||||
|
// this.m7image = this.images.m7[this.m7state];
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if(drivedata == "elflute"){
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// if(drivedata == "relieve"){
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
updatarunlevel(drivedata){
|
||||||
|
if(drivedata != this.m2state){
|
||||||
|
if(drivedata == "CBTC"){
|
||||||
|
this.m2state = drivedata;
|
||||||
|
this.m2image = this.images.m2['cbtc'];
|
||||||
|
}else if(drivedata == "IL"){
|
||||||
|
this.m2state = drivedata;
|
||||||
|
this.m2image = this.images.m2['il'];
|
||||||
|
}else{
|
||||||
|
this.m2state = drivedata;
|
||||||
|
this.m2image = this.images.m2['start'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
updatedrivemode(drivedata){
|
||||||
|
if(drivedata != this.m1state){
|
||||||
|
if(drivedata == "CM"){
|
||||||
|
this.m1state = drivedata;
|
||||||
|
this.m1image = this.images.m1['cm'];
|
||||||
|
}else if(drivedata == "RM"){
|
||||||
|
this.m1state = drivedata;
|
||||||
|
this.m1image = this.images.m1['rm'];
|
||||||
|
}else if(drivedata == "AM"){
|
||||||
|
this.m1state = drivedata;
|
||||||
|
this.m1image = this.images.m1['am'];
|
||||||
|
}else{
|
||||||
|
this.m1state = null;
|
||||||
|
this.m1image = this.images.m1['start'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
updateatoatp(atoon,atpon){
|
updateatoatp(atoon,atpon){
|
||||||
if(!atoon){
|
//
|
||||||
this.m9state = "ato";
|
if(this.m9state1 != atoon){
|
||||||
|
this.m9state1 = atoon;
|
||||||
|
if(atoon){
|
||||||
|
|
||||||
|
}else{
|
||||||
this.m9image = this.images.m9["ato"];
|
this.m9image = this.images.m9["ato"];
|
||||||
}
|
}
|
||||||
if(!atpon){
|
}
|
||||||
this.m9state = "atp";
|
|
||||||
|
if(this.m9state2 != atpon){
|
||||||
|
this.m9state2 = atpon;
|
||||||
|
if(atpon){
|
||||||
|
|
||||||
|
}else{
|
||||||
this.m9image = this.images.m9["atp"];
|
this.m9image = this.images.m9["atp"];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
updatelen(len) {
|
updatelen(len) {
|
||||||
//this.malen = 150+"px";
|
//this.malen = 150+"px";
|
||||||
@ -409,8 +401,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updatestation(end,next){
|
updatestation(end,next){
|
||||||
|
if(next != this.nextstation || end != this.endstation){
|
||||||
this.endstation = end;
|
this.endstation = end;
|
||||||
this.nextstation = next;
|
this.nextstation = next;
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -197,16 +197,16 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updatemenulist(devicelist) {
|
// updatemenulist(devicelist) {
|
||||||
if(devicelist){
|
// if(devicelist){
|
||||||
this.devicelist = devicelist;
|
// this.devicelist = devicelist;
|
||||||
this.isswitch = true;
|
// this.isswitch = true;
|
||||||
}else{
|
// }else{
|
||||||
this.devicelist = [];
|
// this.devicelist = [];
|
||||||
this.isswitch = false;
|
// this.isswitch = false;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
},
|
// },
|
||||||
showmodel(devicedata){
|
showmodel(devicedata){
|
||||||
this.jl3d.updatewindowstatus('1');
|
this.jl3d.updatewindowstatus('1');
|
||||||
this.jl3d.selectmodel(devicedata);
|
this.jl3d.selectmodel(devicedata);
|
||||||
@ -242,6 +242,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updatemenulist(equiplist) {
|
updatemenulist(equiplist) {
|
||||||
|
console.log(equiplist);
|
||||||
if(equiplist){
|
if(equiplist){
|
||||||
this.equiplist = equiplist;
|
this.equiplist = equiplist;
|
||||||
this.isswitch = true;
|
this.isswitch = true;
|
||||||
|
@ -197,6 +197,7 @@ export default {
|
|||||||
},
|
},
|
||||||
selectdevice(divicedata){
|
selectdevice(divicedata){
|
||||||
this.deviceShow = true;
|
this.deviceShow = true;
|
||||||
|
// console.log(divicedata);
|
||||||
this.$refs.faultdevice.showmodel(divicedata);
|
this.$refs.faultdevice.showmodel(divicedata);
|
||||||
},
|
},
|
||||||
warningmsg(nowmsg){
|
warningmsg(nowmsg){
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class = "station">
|
<div class = "station">
|
||||||
<div style="margin-top:5%;font-size: 30px;">当前车站:</div>
|
<div style="margin-top:5%;font-size: 30px;">当前车站:</div>
|
||||||
<el-select class="listmenu" v-model="value" placeholder="当前车站" >
|
<el-select class="listmenu" v-model="value" placeholder="当前车站" @change="currentsel" >
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in stationlist"
|
v-for="item in stationlist"
|
||||||
:key="item.name"
|
:key="item.name"
|
||||||
@ -17,11 +17,14 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="menutop">
|
<div class="menutop">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button type="primary" @click="switchrender">{{rendermode}}</el-button>
|
<el-button type="primary" @click="switch4view">四画面</el-button>
|
||||||
|
<el-button type="primary" @click="switch2view">双画面</el-button>
|
||||||
|
<el-button type="primary" @click="switchauto">自由视角</el-button>
|
||||||
|
<!-- <el-button type="primary" @click="switchrender">{{rendermode}}</el-button> -->
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div> -->
|
</div>
|
||||||
<div class="menudown">
|
<div class="menudown">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button type="primary" @click="back">退出</el-button>
|
<el-button type="primary" @click="back">退出</el-button>
|
||||||
@ -77,18 +80,32 @@ export default {
|
|||||||
if (this.renderswitch == true) {
|
if (this.renderswitch == true) {
|
||||||
this.rendermode = '退出监控';
|
this.rendermode = '退出监控';
|
||||||
this.renderswitch = false;
|
this.renderswitch = false;
|
||||||
this.jl3d.switchrender(this.renderswitch);
|
this.jl3d.switchviews("auto");
|
||||||
} else {
|
} else {
|
||||||
this.rendermode = '监控视角';
|
this.rendermode = '监控视角';
|
||||||
this.renderswitch = true;
|
this.renderswitch = true;
|
||||||
this.jl3d.switchrender(this.renderswitch);
|
this.jl3d.switchviews(4);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
switch4view(){
|
||||||
|
this.jl3d.switchviews(4);
|
||||||
|
},
|
||||||
|
switch2view(){
|
||||||
|
this.jl3d.switchviews(2);
|
||||||
|
},
|
||||||
|
switchauto(){
|
||||||
|
this.jl3d.switchviews("auto");
|
||||||
},
|
},
|
||||||
updatestationlist(list){
|
updatestationlist(list){
|
||||||
// console.log(list);
|
// console.log(list);
|
||||||
this.value = list[0].name
|
this.value = list[0].name
|
||||||
this.stationlist = list;
|
this.stationlist = list;
|
||||||
},
|
},
|
||||||
|
currentsel(selVal){
|
||||||
|
this.jl3d.changestation(selVal);
|
||||||
|
// let oldgroupnum = this.groupnum;
|
||||||
|
// this.value = selVal;
|
||||||
|
},
|
||||||
back() {
|
back() {
|
||||||
window.close();
|
window.close();
|
||||||
},
|
},
|
||||||
|
@ -7,15 +7,16 @@
|
|||||||
<div v-if="chatContent.all&& !chatContent.self" class="userName">{{ covertName(chatContent.member) }}</div>
|
<div v-if="chatContent.all&& !chatContent.self" class="userName">{{ covertName(chatContent.member) }}</div>
|
||||||
<div :class="chatContent.self?'userChatTime textRight':'userChatTime'">{{ formatTime(chatContent.chatTime) }}</div>
|
<div :class="chatContent.self?'userChatTime textRight':'userChatTime'">{{ formatTime(chatContent.chatTime) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="userBubble" @click="playAudio('audio'+index)">
|
<!-- @click="playAudio('audio'+index) -->
|
||||||
|
<div class="userBubble" @click="playAudio(baseUrl+chatContent.src)">
|
||||||
<div class="userMessage">
|
<div class="userMessage">
|
||||||
<!-- &&!(chatContent.self) -->
|
<!-- &&!(chatContent.self) -->
|
||||||
<span v-if="chatContent.all">@{{ covertName(chatContent.targetUser) }}</span>
|
<span v-if="chatContent.all">@{{ covertName(chatContent.targetUser) }}</span>
|
||||||
<span class="el-icon-video-play playicon" />
|
<span class="el-icon-video-play playicon" />
|
||||||
<span class="messageText">{{ chatContent.message }}</span>
|
<span class="messageText">{{ chatContent.message }}</span>
|
||||||
<audio :id="'audio'+index" :src="baseUrl+chatContent.src" style="display:none" />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<audio id="audioPlay" style="display:none" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -136,8 +137,9 @@ export default {
|
|||||||
const memberName = data.name ? '-' + data.name : '';
|
const memberName = data.name ? '-' + data.name : '';
|
||||||
return '@' + data.role + deviceName + memberName;
|
return '@' + data.role + deviceName + memberName;
|
||||||
},
|
},
|
||||||
playAudio(id) {
|
playAudio(audioUrl) {
|
||||||
document.querySelector('#' + id).play();
|
document.querySelector('#audioPlay').src = audioUrl;
|
||||||
|
document.querySelector('#audioPlay').play();
|
||||||
}
|
}
|
||||||
// reloadData(currentCoversition) {
|
// reloadData(currentCoversition) {
|
||||||
// this.chatContentList = [];
|
// this.chatContentList = [];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!-- v-quickMenuDrag -->
|
<!-- v-quickMenuDrag -->
|
||||||
<div class="chatBox" :style="{'bottom':bottom+'px'}">
|
<div class="chatBox" :style="{'bottom':bottom+'px'}">
|
||||||
<div v-show="!minimize" class="chat-box">
|
<div v-show="!minimize" class="chat-box">
|
||||||
<chat-member-list v-if="project!='refereeJsxt'" ref="chatMemberList" :group="group" :current-coversition="currentCoversition" />
|
<chat-member-list v-if="project!='refereeJsxt'|| IsAnswering" ref="chatMemberList" :group="group" :current-coversition="currentCoversition" />
|
||||||
<div class="chat-box-main">
|
<div class="chat-box-main">
|
||||||
<chat-coversition-list ref="chatCoversitionList" :user-role="userRole" @hideAddCoversition="hideAddCoversition" @setCurrentCoversition="setCurrentCoversition" @setHeadTitle="setHeadTitle" />
|
<chat-coversition-list ref="chatCoversitionList" :user-role="userRole" @hideAddCoversition="hideAddCoversition" @setCurrentCoversition="setCurrentCoversition" @setHeadTitle="setHeadTitle" />
|
||||||
<div class="chat-window">
|
<div class="chat-window">
|
||||||
@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="chat-box-content">
|
<div class="chat-box-content">
|
||||||
<chat-content ref="chatContent" :project="project" :current-coversition="currentCoversition" @changeCoversition="changeCoversition" />
|
<chat-content ref="chatContent" :project="project" :is-answering="IsAnswering" :current-coversition="currentCoversition" @changeCoversition="changeCoversition" />
|
||||||
<div v-if="recordSending" class="chat_record_tip">
|
<div v-if="recordSending" class="chat_record_tip">
|
||||||
<div id="record_progress_bar" :style="'width:'+100/60*seconds+'%'" />
|
<div id="record_progress_bar" :style="'width:'+100/60*seconds+'%'" />
|
||||||
<div class="record_icon" />
|
<div class="record_icon" />
|
||||||
@ -79,7 +79,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
minimize:false,
|
minimize:true,
|
||||||
bottom:15,
|
bottom:15,
|
||||||
recordSending:false,
|
recordSending:false,
|
||||||
currentCoversition:{},
|
currentCoversition:{},
|
||||||
@ -105,6 +105,9 @@ export default {
|
|||||||
},
|
},
|
||||||
project() {
|
project() {
|
||||||
return getSessionStorage('project');
|
return getSessionStorage('project');
|
||||||
|
},
|
||||||
|
IsAnswering() {
|
||||||
|
return !(this.$route.path.includes('refereeJsxtDisplay'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
|
@ -36,6 +36,10 @@ export default {
|
|||||||
project:{
|
project:{
|
||||||
type:String,
|
type:String,
|
||||||
required:true
|
required:true
|
||||||
|
},
|
||||||
|
isAnswering:{
|
||||||
|
type:Boolean,
|
||||||
|
required:true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -59,6 +63,7 @@ export default {
|
|||||||
this.chatContentList.push(simulationText);
|
this.chatContentList.push(simulationText);
|
||||||
if (simulationText.member.userId != this.$store.state.user.id) {
|
if (simulationText.member.userId != this.$store.state.user.id) {
|
||||||
this.currentAudioList.push(this.baseUrl + simulationText.src);
|
this.currentAudioList.push(this.baseUrl + simulationText.src);
|
||||||
|
console.log(this.isPlay);
|
||||||
if (!this.isPlay) {
|
if (!this.isPlay) {
|
||||||
this.isPlay = true;
|
this.isPlay = true;
|
||||||
this.playAllAudio();
|
this.playAllAudio();
|
||||||
@ -66,13 +71,13 @@ export default {
|
|||||||
}
|
}
|
||||||
this.scrollTop();
|
this.scrollTop();
|
||||||
} else {
|
} else {
|
||||||
// debugger;
|
|
||||||
if (!simulationText.all) {
|
if (!simulationText.all) {
|
||||||
this.$emit('changeCoversition', simulationText);
|
this.$emit('changeCoversition', simulationText);
|
||||||
// this.$emit('addCoversition', {data:simulationText, headerTitle:''});
|
// this.$emit('addCoversition', {data:simulationText, headerTitle:''});
|
||||||
this.chatContentList.push(simulationText);
|
this.chatContentList.push(simulationText);
|
||||||
if (simulationText.member.userId != this.$store.state.user.id) {
|
if (simulationText.member.userId != this.$store.state.user.id) {
|
||||||
this.currentAudioList.push(this.baseUrl + simulationText.src);
|
this.currentAudioList.push(this.baseUrl + simulationText.src);
|
||||||
|
console.log(this.isPlay);
|
||||||
if (!this.isPlay) {
|
if (!this.isPlay) {
|
||||||
this.isPlay = true;
|
this.isPlay = true;
|
||||||
this.playAllAudio();
|
this.playAllAudio();
|
||||||
@ -91,7 +96,7 @@ export default {
|
|||||||
this.inintData();
|
this.inintData();
|
||||||
},
|
},
|
||||||
currentCoversition:function (val, old) {
|
currentCoversition:function (val, old) {
|
||||||
if (val && this.project != 'refereeJsxt') {
|
if (val && (this.project != 'refereeJsxt' || this.isAnswering)) {
|
||||||
this.chatContentList = [];
|
this.chatContentList = [];
|
||||||
this.coversition = this.currentCoversition;
|
this.coversition = this.currentCoversition;
|
||||||
this.inintData();
|
this.inintData();
|
||||||
@ -144,8 +149,8 @@ export default {
|
|||||||
const that = this;
|
const that = this;
|
||||||
document.querySelector('#audioPlay').onended = function() {
|
document.querySelector('#audioPlay').onended = function() {
|
||||||
that.currentAudioList.shift();
|
that.currentAudioList.shift();
|
||||||
|
console.log(that.currentAudioList.length);
|
||||||
if (that.currentAudioList.length > 0) {
|
if (that.currentAudioList.length > 0) {
|
||||||
that.currentAudioIndex++;
|
|
||||||
that.playEachAudio(that.currentAudioList[that.currentAudioIndex]);
|
that.playEachAudio(that.currentAudioList[that.currentAudioIndex]);
|
||||||
} else {
|
} else {
|
||||||
that.isPlay = false;
|
that.isPlay = false;
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
<transition name="el-zoom-in-bottom">
|
<transition name="el-zoom-in-bottom">
|
||||||
<map-system-draft ref="mapCanvas" @back="back" />
|
<map-system-draft ref="mapCanvas" @back="back" />
|
||||||
</transition>
|
</transition>
|
||||||
|
|
||||||
<menu-demon-joint
|
<menu-demon-joint
|
||||||
ref="demonMenu"
|
ref="demonMenu"
|
||||||
:group="group"
|
:group="group"
|
||||||
@ -18,6 +19,7 @@
|
|||||||
@hidepanel="hidepanel"
|
@hidepanel="hidepanel"
|
||||||
@showIbp="showIbp"
|
@showIbp="showIbp"
|
||||||
@startCounting="startCounting"
|
@startCounting="startCounting"
|
||||||
|
@hidejl3dcctv="hidejl3dcctv"
|
||||||
/>
|
/>
|
||||||
<menu-demon-schema
|
<menu-demon-schema
|
||||||
ref="menuSchema"
|
ref="menuSchema"
|
||||||
@ -518,12 +520,25 @@ export default {
|
|||||||
this.$refs.ibpPlate.show(deviceCode, this.ibpPart);
|
this.$refs.ibpPlate.show(deviceCode, this.ibpPart);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
hidejl3dcctv(){
|
||||||
|
const routeData = this.$router.resolve({
|
||||||
|
path:'/jlmap3d/passengerflow',
|
||||||
|
query:{
|
||||||
|
mapid:this.mapId,
|
||||||
|
group:this.group,
|
||||||
|
project: this.project
|
||||||
|
}
|
||||||
|
});
|
||||||
|
window.open(routeData.href, '_blank', 'noopener noreferrer');
|
||||||
|
},
|
||||||
hidepanel() {
|
hidepanel() {
|
||||||
this.panelShow = false;
|
this.panelShow = false;
|
||||||
this.drivingShow = true;
|
this.drivingShow = true;
|
||||||
this.ibpShow = false;
|
this.ibpShow = false;
|
||||||
this.$refs.Jl3dDrive.show(this.mapId, this.group);
|
this.$refs.Jl3dDrive.show(this.mapId, this.group);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
hideIbp() {
|
hideIbp() {
|
||||||
Message.closeAll();
|
Message.closeAll();
|
||||||
this.drivingShow = false;
|
this.drivingShow = false;
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isProject && !dataError " type="primary" @click="setRelDevice">{{ $t('joinTraining.connectRealDevices') }}</el-button>
|
<el-button v-if="isProject && !dataError " type="primary" @click="setRelDevice">{{ $t('joinTraining.connectRealDevices') }}</el-button>
|
||||||
<el-button v-if="isDriver && !dataError" type="jumpjlmap3d" @click="jumpjlmap3d">{{ $t('joinTraining.driverPerspective') }}</el-button>
|
<el-button v-if="isDriver && !dataError" type="jumpjlmap3d" @click="jumpjlmap3d">{{ $t('joinTraining.driverPerspective') }}</el-button>
|
||||||
|
<el-button v-if="isStationSupervisor && !dataError" type="jmap3dcctv" @click="jlmap3dcctv">cctv</el-button>
|
||||||
<template v-if="isAdmin && project != 'refereeJsxt'">
|
<template v-if="isAdmin && project != 'refereeJsxt'">
|
||||||
<el-button type="success" :disabled="isDisable || dataError" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button>
|
<el-button type="success" :disabled="isDisable || dataError" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button>
|
||||||
<el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('joinTraining.exitPlan') }}</el-button>
|
<el-button type="danger" :disabled="!isDisable" @click="end">{{ $t('joinTraining.exitPlan') }}</el-button>
|
||||||
@ -94,6 +95,10 @@ export default {
|
|||||||
isSpeaking() {
|
isSpeaking() {
|
||||||
return this.userRole != 'DRIVER' && this.userRole != '';
|
return this.userRole != 'DRIVER' && this.userRole != '';
|
||||||
},
|
},
|
||||||
|
isStationSupervisor(){
|
||||||
|
console.log(this.userRole);
|
||||||
|
return this.userRole == 'STATION_SUPERVISOR';
|
||||||
|
},
|
||||||
isDriver() {
|
isDriver() {
|
||||||
return this.userRole == 'DRIVER';
|
return this.userRole == 'DRIVER';
|
||||||
},
|
},
|
||||||
@ -144,6 +149,7 @@ export default {
|
|||||||
this.backLoading = false;
|
this.backLoading = false;
|
||||||
await this.initLoadPage();
|
await this.initLoadPage();
|
||||||
this.isDisable = this.$store.state.map.runPlanStatus;
|
this.isDisable = this.$store.state.map.runPlanStatus;
|
||||||
|
console.log(this.userRole);
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.$store.dispatch('training/setGroup', '');
|
this.$store.dispatch('training/setGroup', '');
|
||||||
@ -305,6 +311,9 @@ export default {
|
|||||||
jumpjlmap3d() {
|
jumpjlmap3d() {
|
||||||
this.$emit('hidepanel');
|
this.$emit('hidepanel');
|
||||||
},
|
},
|
||||||
|
jlmap3dcctv(){
|
||||||
|
this.$emit('hidejl3dcctv');
|
||||||
|
},
|
||||||
setRelDevice() {
|
setRelDevice() {
|
||||||
this.$refs.realDevice.doShow();
|
this.$refs.realDevice.doShow();
|
||||||
},
|
},
|
||||||
|
@ -70,9 +70,9 @@ export default {
|
|||||||
height: 800,
|
height: 800,
|
||||||
roadData: [],
|
roadData: [],
|
||||||
focus: false,
|
focus: false,
|
||||||
booleanList: ['lockFirst', 'switchSingleHandle'],
|
booleanList: ['lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute'],
|
||||||
selectList: ['upDirection'],
|
selectList: ['upDirection'],
|
||||||
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection'],
|
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute'],
|
||||||
numberList: [],
|
numberList: [],
|
||||||
optionsMap: {
|
optionsMap: {
|
||||||
upDirection: [{label: 'right', value: 'right'}, {label: 'left', value: 'left'}]
|
upDirection: [{label: 'right', value: 'right'}, {label: 'left', value: 'left'}]
|
||||||
@ -80,7 +80,10 @@ export default {
|
|||||||
remarkMap: {
|
remarkMap: {
|
||||||
lockFirst: '是否先锁闭——办理过程直接先锁闭区段',
|
lockFirst: '是否先锁闭——办理过程直接先锁闭区段',
|
||||||
upDirection: '上行方向',
|
upDirection: '上行方向',
|
||||||
switchSingleHandle: '道岔区段状态改变按单个道岔处理'
|
switchSingleHandle: '道岔区段状态改变按单个道岔处理',
|
||||||
|
switchNRTurnChain:'道岔正/反操是否联动',
|
||||||
|
switchSingleLockChain:'道岔单解/锁是否联动',
|
||||||
|
signalForceCancelRoute:'是否强制取消进路/在接近区段占用时是否依旧强制执行取消进路'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
BIN
static/model/passflow/station1.FBX
Normal file
BIN
static/model/suidao/xiansuida1o.FBX
Normal file
@ -7,7 +7,7 @@ function timedCount(){
|
|||||||
|
|
||||||
if(e.data == "on"){
|
if(e.data == "on"){
|
||||||
|
|
||||||
update = setInterval("passerupdate()", 50);
|
update = setInterval("passerupdate()", 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e.data == "off"){
|
if(e.data == "off"){
|
||||||
|
@ -7,7 +7,7 @@ function timedCount(){
|
|||||||
|
|
||||||
if(e.data == "on"){
|
if(e.data == "on"){
|
||||||
console.log("on");
|
console.log("on");
|
||||||
update = setInterval("stationupdate()", 3000);
|
update = setInterval("stationupdate()", 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e.data == "off"){
|
if(e.data == "off"){
|
||||||
|