Merge remote-tracking branch 'origin/test'

This commit is contained in:
joylink_zhangsai 2022-08-04 21:09:33 +08:00
commit ef7c7601b8
6 changed files with 374 additions and 17 deletions

View File

@ -306,7 +306,18 @@ class MouseController extends Eventful {
if (this.whetherInclude(boundingRect, deviceBoundingRect )) {
includeDeviceList.push(item);
} // item.instance._type !== deviceType.TrainWindow &&
} else if (item.instance && item.instance._type !== deviceType.CheckBox && item.instance._type !== deviceType.Train && (window.location.href.indexOf('pictureDraw') > -1 && item.instance._type === deviceType.TrainWindow) ) {
} else if (window.location.href.indexOf('pictureDraw') > -1 && item.instance && item.instance._type === deviceType.TrainWindow) {
const rect = item.instance.getBoundingRect();
const deviceBoundingRect = {
x1: rect.x,
y1: rect.y,
x2: rect.x,
y2: rect.y
};
if (this.whetherInclude(boundingRect, deviceBoundingRect)) {
includeDeviceList.push(item);
}
} else if (item.instance && item.instance._type !== deviceType.CheckBox && item.instance._type !== deviceType.Train && item.instance._type !== deviceType.TrainWindow) {
const rect = item.instance.getBoundingRect();
const deviceBoundingRect = {
x1: rect.x,

View File

@ -247,6 +247,7 @@ export default {
},
mounted() {
this.group = this.$route.query.group;
// debugger;
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
if (this.isCtc) {

View File

@ -14,7 +14,7 @@
<el-button-group v-if="project !== 'bjd'">
<el-button v-if="$route.query.lineCode === '16'&&!isCtc && project !== 'teaching'&&isLocalStation" size="small" @click="goCtc">车务终端</el-button>
<el-button v-if="$route.query.lineCode ==='16'&&isLocalStation" size="small" @click="showTrainTicket">路票</el-button>
<el-button v-if="$route.query.lineCode === '16'&&isLocalStation" size="small" @click="showRegisterBook">簿册</el-button>
<el-button v-if="showRegisterBookBtn" size="small" @click="showRegisterBook">簿册</el-button>
<!-- <el-button v-if="$route.query.lineCode === '16'&&!isCtc" size="small" @click="goRpManage">管理终端</el-button> -->
<!-- <el-button v-if="$route.query.lineCode === '16'&&!isCtc" size="small" @click="goDsManage">调度台</el-button> -->
<el-button v-if="showDispatcherStation" size="small" @click="changeShowMap">调度台</el-button>
@ -172,6 +172,10 @@ export default {
{ value: 4, label: '4倍速' },
{ value: 5, label: '5倍速' }
];
},
showRegisterBookBtn() {
const roleList = ['STATION_SUPERVISOR', 'STATION_ASSISTANT', 'STATION_SIGNALER', 'STATION_SWITCH_MAN', 'STATION_MASTER', 'STATION_WORKER', 'DEVICE_MANAGER'];
return this.$route.query.lineCode === '16' && roleList.includes(this.$store.state.training.userRole);
}
},
watch: {

View File

@ -513,7 +513,61 @@ export const operateEnum = {
// 运行计划编码
}
]
},
CTC_STATION_SIGN_RUN_PLAN:{
isList:true,
name:'签收阶段计划',
params:[
{
code:'stationCode',
name:'车站为',
function:getStationNameById
}
]
},
CTC_STATION_SEND_OUT_RUN_PLAN:{
isList:true,
name:'车站发送计划',
params:[
{
code:'stationCode',
name:'车站为',
function:getStationNameById
}
]
},
CTC_MODIFY_ADJACENT_STATION:{
isList:true,
name:'修改邻站信息',
params:[
{
code:'stationCode',
name:'车站为',
function:getStationNameById
},
{
code:'runPlanCode',
name:'车次号',
function:getTripNumberByCode
// 运行计划编码
},
{
code:'arriveStationCode',
name:'到达车站为',
function:getStationNameById
},
{
code:'departStationCode',
name:'发车车站为',
function:getStationNameById
}
]
}
// CTC_MODIFY_SECTION
// 修改股道
// CTC_CANCEL_TWINKLE
// 车站取消红闪
// CTC_MODIFY_ADJACENT_STATION:{value: 'CTC_MODIFY_ADJACENT_STATION', label: '修改邻站信息'},
},
RAIL:{
function: getRAILDevicename,
@ -545,7 +599,20 @@ export const operateEnum = {
]
},
RAIL_FILL_IN_TICKET:{
name:'填写票据'
name:'填写票据',
isList:true,
params:[
{
code:'stationCode',
name:'车站为',
function:getStationNameById
},
{
code:'ticket',
name:'票据',
function:getTicketInfoById
}
]
},
RAIL_QUERY_TICKET:{
name:'查询票据',
@ -556,16 +623,25 @@ export const operateEnum = {
name:'车站为',
function:getStationNameById
}
// const params = { type: this.attachmentType };
]
},
RAIL_GIVE_TICKET_TO:{
name:'给出票据'
name:'给出票据',
isList:true,
params:[
{
code:'ticketId',
name:'票据id'
},
{
code:'memberId',
name:'成员id'
}
]
// ticketId
// memberId
}
// CMD_RAIL_FILL_IN_TICKET: {value: 'RAIL_FILL_IN_TICKET', label: '填写票据'},
// CMD_RAIL_QUERY_TICKET: {value: 'RAIL_QUERY_TICKET', label: '查询票据'},
// CMD_RAIL_FILL_IN_REGISTER: {value: 'RAIL_FILL_IN_REGISTER', label: '填写行车簿册'},
// CMD_RAIL_QUERY_REGISTER: {value: 'RAIL_QUERY_REGISTER', label: '查询行车簿册'},
// CMD_RAIL_GIVE_TICKET_TO: {value: 'RAIL_GIVE_TICKET_TO', label: '给出票据'}
}
//
};
@ -646,7 +722,7 @@ export const operateEnum = {
// 转换函数
export function covertOperate(operationType, operationParamMap) {
debugger;
// debugger;
if (operationType == 'Set_Fault' || operationType == 'Cancel_Fault') {
let deviceName = '';
const device = store.getters['map/getDeviceByCode'](operationParamMap.code) || {};
@ -826,6 +902,7 @@ function covertDeviceName(deviceInfo, deviceType) {
function getCTCDevicename(operationType) {
let deviceName = '';
const stationRPLogList = ['CTC_SEND_NOTICE', 'CTC_MODIFY_SECTION',
'CTC_STATION_SIGN_RUN_PLAN',
'CTC_STATION_SEND_OUT_RUN_PLAN', 'CTC_CANCEL_TWINKLE',
'CTC_MODIFY_TRIP_NUMBER', 'CTC_AGREE_NOTICE',
'CTC_MODIFY_ADJACENT_STATION'];
@ -997,6 +1074,32 @@ function getDeviceNameById(deviceCode) {
return device.name;
}
function getTicketInfoById(ticket) {
const ticketTypeMap = {'RAIL_TICKET':'路票', 'GREEN_LICENCE':'绿色许可证', 'RED_LICENCE':'红色许可证'};
let info = '';
if (ticket.type == 'GREEN_LICENCE') {
info = ',编号为' + ticket.number +
'在' + ticket.reason + '的情况下,准许第' + ticket.tripNumber + '次列车由' + ticket.line + '线上发车。' +
',站名印为' + ticket.stationSeal + ',签名为' + ticket.signature +
',日期为' + ticket.year + '年' + ticket.moon + '月' + ticket.day + '日';
} else if (ticket.type == 'RED_LICENCE') {
info = ',编号为' + ticket.number +
',现在一切电话中断,准许第' + ticket.licenseTripNumber + '次列车自' + ticket.licenseStation +
'站至' + ticket.licenseNextStation + '站,本列车前于' + ticket.licenseHour + '时' + ticket.licenseMinute +
'分发出的第' + ticket.licenseTripNumber2 + '次列车,邻站到达通知' + ticket.licenseReceived ? '已' : '未' + '收到' +
'。 通知书1.' + '第' + ticket.noticeTripNumber + '次列车到达你站后,准接你站发出的列车。' +
'2.于' + ticket.noticeHour1 + '时' + ticket.noticeMinute1 + '分发出第' + ticket.noticeTripNumber1 + '次列车,并于' + ticket.noticeHour2 +
'时' + ticket.noticeMinute2 + '分再发出第' + ticket.noticeTripNumber2 + '次列车。' +
',站名印为' + ticket.stationSeal + ',签名为' + ticket.signature +
',日期为' + ticket.year + '年' + ticket.moon + '月' + ticket.day + '日';
} else if (ticket.type == 'RAIL_TICKET') {
info = ',编号为' + ticket.number + ',车次为' + ticket.tripNumber + '' + ticket.station + '到' + ticket.nextStation +
',站名印为' + ticket.stationSeal + ',编号为' + ticket.no;
// deputy: false
}
return '类型为' + ticketTypeMap[ticket.type] + info;
}
function getRecordByLine(line) {
// '{"stationCode":"Station58852","line":{"moonDay":"","hourMinute":"","result":"","noticeTime":{"moonDay":"","hourMinute":"","info":""},"arriveTime":{"moonDay":"","hourMinute":"","info":""},"endTime":{"moonDay":"","hourMinute":"","info":""}}}'
return ',结果为' + line.result;

View File

@ -239,6 +239,7 @@ export default {
if ((item.messageType === 'PLAY_CHANGE' || item.messageType === 'ONLINE' ) && item.userId == this.userId && (stationRoleList.includes(item.type) )) {
// this.userRole = item.type || 'AUDIENCE';
this.$store.dispatch('training/setRoleDeviceCode', item.deviceCode);
this.$store.dispatch('training/setUserRole', item.type);
this.deviceCode = item.deviceCode;
if (item.type == 'STATION_SUPERVISOR' || item.type == 'STATION_SIGNALER') {

View File

@ -103,7 +103,7 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="行车设备施工登记簿">
<!-- <el-tab-pane label="行车设备施工登记簿">
<div style="text-align: right;">
<el-button size="small" style="margin-right: 20px;margin-bottom: 10px;" type="primary">新增</el-button>
</div>
@ -184,12 +184,246 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="车站值班员交接班簿">
<div style="text-align: right;">
<el-button size="small" style="margin-right: 20px;margin-bottom: 10px;" type="primary">新增</el-button>
</div>
<el-tab-pane label="车站值班员交接班簿(中间站)">
<el-table :data="tableData" style="width: 100%" />
</el-tab-pane>
<el-tab-pane label="车站值班员交接班簿(编组站、区段站)">
<el-row>
<span>20</span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span></span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span></span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span></span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span></span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span> 交班者</span>
<el-input v-model="value" size="mini" style="width: 80px;" />
<span>接班者</span>
<el-input v-model="value" size="mini" style="width: 80px;" />
</el-row>
<el-row style="display: flex;">
<div class="border-box" style="width: 10%">文电指示</div>
<div class="border-box" style="width: 90%;"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex">
<div class="border-box">列车占线情况</div>
<div>
<el-row style="display: flex;justify-content: space-between">
<div class="border-box" style="width: 100%;">车场别</div>
<div class="border-box" style="width: 100%;">线别</div>
<div class="border-box" style="width: 100%;">车次</div>
<div class="border-box" style="width: 100%;">闭塞</div>
<div class="border-box" style="width: 100%;">未挂头</div>
<div class="border-box" style="width: 100%;">已挂头</div>
<div class="border-box" style="width: 100%;">未编完</div>
<div class="border-box" style="width: 100%;">已编完</div>
<div class="border-box" style="width: 100%;" />
<div class="border-box" style="width: 100%;">车场别</div>
<div class="border-box" style="width: 100%;">线别</div>
<div class="border-box" style="width: 100%;">车次</div>
<div class="border-box" style="width: 100%;">闭塞</div>
<div class="border-box" style="width: 100%;">未挂头</div>
<div class="border-box" style="width: 100%;">已挂头</div>
<div class="border-box" style="width: 100%;">未编完</div>
<div class="border-box" style="width: 100%;">已编完</div>
<div class="border-box" style="width: 100%;" />
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
</div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;">
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
<div class="border-box"><el-input v-model="value" size="mini" /></div>
</el-row>
</div>
</el-row>
</div>
</el-row>
<el-row style="display: flex;justify-content: space-between;">
<div style="width: 100%;height: 150px;">
<el-row style="display: flex;height: 75px;">
<div class="border-box" style="width: 10%;height: 75px;">行车设备</div>
<div class="border-box" style="width: 90%;height: 75px;"><el-input v-model="value" size="mini" /></div>
</el-row>
<el-row style="display: flex;height: 75px;">
<div class="border-box" style="width: 10%;height: 75px;">行车备品</div>
<div class="border-box" style="width: 90%;height: 75px;"><el-input v-model="value" size="mini" /></div>
</el-row>
</div>
<div style="display: flex;width: 100%;height: 150px;">
<div class="border-box" style="width: 10%;">路票</div>
<div style="width: 90%;">
<el-row><div class="border-box"><el-input v-model="value" size="mini" /></div></el-row>
<el-row><div class="border-box"><el-input v-model="value" size="mini" /></div></el-row>
<el-row><div class="border-box"><el-input v-model="value" size="mini" /></div></el-row>
<el-row><div class="border-box"><el-input v-model="value" size="mini" /></div></el-row>
<el-row><div class="border-box"><el-input v-model="value" size="mini" /></div></el-row>
</div>
</div>
</el-row>
</el-tab-pane>-->
</el-tabs>
</el-dialog>
</template>
@ -202,7 +436,8 @@ export default {
return {
registerBookShow: false,
tableData: [],
dataIndex: null
dataIndex: null,
value: ''
};
},
methods: {
@ -260,5 +495,7 @@ export default {
</script>
<style scoped>
.border-box{
border: 1px solid #000000;
}
</style>