parent
6704c4ef4d
commit
802f4abbc0
@ -25,38 +25,34 @@
|
||||
<div class="box-top">
|
||||
<div class="top-title">收令箱</div>
|
||||
<div class="top-table">
|
||||
<el-table :data="cmdTableData" border style="width: 100%" height="160" highlight-current-row :row-class-name="tableRowClassName" @current-change="handleCurrentChange">
|
||||
<el-table :data="cmdTableData" style="width: 100%" height="160" highlight-current-row :row-class-name="tableRowClassName" @current-change="handleCurrentChange">
|
||||
<el-table-column prop="title" label="标题" show-overflow-tooltip />
|
||||
<el-table-column prop="cmdCode" label="号码" width="80" />
|
||||
<el-table-column prop="number" label="号码" width="80" />
|
||||
<el-table-column label="命令类型" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ typeObj[scope.row.type] || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="收令日期" width="160">
|
||||
<el-table-column prop="sendTime" label="收令日期" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ getStateInfo(scope.row.rcvCompanies).time || '' }}</span>
|
||||
<span style="margin-left: 10px">{{ getSignInfo(scope.row.receiverInfos).receivedTime || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发令单位">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ scope.row.sendCompany ? scope.row.sendCompany.name : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="sender" label="发令人" />
|
||||
<el-table-column prop="companyOfSender" label="发令单位" />
|
||||
<el-table-column prop="senderName" label="发令人" />
|
||||
<el-table-column label="签否">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ getSignedStatus(getStateInfo(scope.row.rcvCompanies)) }}</span>
|
||||
<span style="margin-left: 10px">{{ signedStatusObj[getSignInfo(scope.row.receiverInfos).signedStatus] || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="签收人">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ getSignedBy(scope.row.rcvCompanies) || '' }}</span>
|
||||
<span style="margin-left: 10px">{{ getSignedBy(getSignInfo(scope.row.receiverInfos)) || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="签收时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ getStateInfo(scope.row.rcvCompanies).time || '' }}</span>
|
||||
<span style="margin-left: 10px">{{ getSignInfo(scope.row.receiverInfos).time || '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -68,9 +64,9 @@
|
||||
</div>
|
||||
<div class="middle-right">
|
||||
<div class="middle-right-top">
|
||||
<el-table :data="getTableData" border style="width: 100%" height="190">
|
||||
<el-table :data="getTableData" style="width: 100%" height="190">
|
||||
<el-table-column type="index" label="序" width="50" />
|
||||
<el-table-column prop="name" label="受令单位" />
|
||||
<el-table-column prop="deviceName" label="受令单位" />
|
||||
<el-table-column prop="copyers" label="抄知处所" />
|
||||
</el-table>
|
||||
</div>
|
||||
@ -80,7 +76,7 @@
|
||||
<el-checkbox v-model="stopRead">停止阅读</el-checkbox>
|
||||
</div>
|
||||
<div class="middle-right-bottom">
|
||||
<el-table :data="readList" border style="width: 100%" height="200">
|
||||
<el-table :data="tableData2" style="width: 100%" height="200">
|
||||
<el-table-column type="index" label="序" width="50" />
|
||||
<el-table-column prop="reader" label="阅读人" />
|
||||
<el-table-column prop="readTime" label="阅读时间" />
|
||||
@ -91,8 +87,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-btn">
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd(false)">拒签</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd(true)">签收</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd('REFUSE')">拒签</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd('SIGNED')">签收</el-button>
|
||||
<el-button @click="doClose">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@ -101,42 +97,34 @@
|
||||
import { sendCommandNew } from '@/api/jmap/training';
|
||||
import shouxinxiang from '@/assets/dispatcherStation/shouxinxiang.png';
|
||||
import { mapState } from 'vuex';
|
||||
import { parseTime } from '@/utils/index';
|
||||
export default {
|
||||
name:'CmdManage',
|
||||
data() {
|
||||
return {
|
||||
shouxinImg: shouxinxiang,
|
||||
cmdTableData: [],
|
||||
tableData2: [],
|
||||
needRead: false,
|
||||
stopRead: false,
|
||||
dialogShow: false,
|
||||
currentInfo: {},
|
||||
queryResData: {},
|
||||
typeObj: {
|
||||
Normal: '普通调度命令',
|
||||
Construct: '施工调度命令',
|
||||
Forward: '转发调度命令',
|
||||
Request: '请求调度命令',
|
||||
LongTerm: '长效调度命令',
|
||||
ShiftScheduling: '班计划调度命令',
|
||||
Other: '其他调度命令'
|
||||
NORMAL: '正常调度命令'
|
||||
},
|
||||
signedStatusObj: {
|
||||
Cache: '缓存',
|
||||
Sent: '已发送',
|
||||
SrmReceived: '自律机接收',
|
||||
Received: '已接收',
|
||||
Signed: '已签收',
|
||||
Reject: '已拒签'
|
||||
UNSIGNED: '未签收',
|
||||
SIGNED: '签收',
|
||||
REFUSE: '拒签'
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('training', [
|
||||
'memberList', 'memberData', 'simulationUserList', 'initTime'
|
||||
'memberList', 'simulationUserList', 'initTime'
|
||||
]),
|
||||
...mapState('socket', [
|
||||
'dispatchCommandMsg', 'dispatchCommandState'
|
||||
'dispatchCommandMsg'
|
||||
]),
|
||||
show() {
|
||||
return this.dialogShow;
|
||||
@ -148,31 +136,17 @@ export default {
|
||||
return '调度命令管理';
|
||||
},
|
||||
commandId() {
|
||||
return this.currentInfo.cmdId || '';
|
||||
},
|
||||
rcId() {
|
||||
const rcArr = this.currentInfo.rcvCompanies || [];
|
||||
const obj = rcArr.find(item => {
|
||||
return item.code == this.getActiveUser.deviceCode;
|
||||
});
|
||||
const id = obj ? obj.id : '';
|
||||
return id;
|
||||
},
|
||||
currentStatus() {
|
||||
let s = '编辑';
|
||||
const state = this.getStateInfo(this.currentInfo.rcvCompanies).state;
|
||||
if (state) {
|
||||
s = this.signedStatusObj[state] ? this.signedStatusObj[state] : '编辑';
|
||||
}
|
||||
return s;
|
||||
return this.currentInfo.id || '';
|
||||
},
|
||||
currentHasSigned() {
|
||||
let s = false;
|
||||
const sentArr = ['已签收', '已拒签'];
|
||||
if (sentArr.includes(this.currentStatus)) {
|
||||
s = true;
|
||||
let hasSigned = false;
|
||||
if (this.currentInfo.receiverInfos) {
|
||||
const obj = this.getSignInfo(this.currentInfo.receiverInfos);
|
||||
if (obj && obj.signedStatus != 'UNSIGNED') {
|
||||
hasSigned = true;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
return hasSigned;
|
||||
},
|
||||
getActiveUser() {
|
||||
const userInfo = this.simulationUserList.find(item => {
|
||||
@ -182,40 +156,27 @@ export default {
|
||||
return activeUser;
|
||||
},
|
||||
getTableData() {
|
||||
const list = this.currentInfo.rcvCompanies || [];
|
||||
return list;
|
||||
},
|
||||
readList() {
|
||||
const receiverList = Object.values(this.currentInfo.receiverInfos || {});
|
||||
const list = [];
|
||||
this.receiptList && this.receiptList.forEach(item => {
|
||||
if (item.state == 'Received' && item.rcvCode == this.getActiveUser.deviceCode) {
|
||||
list.push({
|
||||
reader: this.getActiveUser.labelName,
|
||||
time: item.time
|
||||
});
|
||||
}
|
||||
|
||||
receiverList.forEach(item => {
|
||||
const device = this.$store.getters['map/getDeviceByCode'](item.receiverId);
|
||||
const obj = {
|
||||
...this.currentInfo,
|
||||
...item,
|
||||
deviceName: device ? device.name : ''
|
||||
};
|
||||
list.push(obj);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dispatchCommandMsg(obj) {
|
||||
if (obj) {
|
||||
const list = obj;
|
||||
this.cmdTableData.unshift(list);
|
||||
dispatchCommandMsg(Obj) {
|
||||
if (Obj.type == 'ADD') {
|
||||
const list = Obj.body;
|
||||
this.cmdTableData.push(list);
|
||||
this.show && this.$store.commit('socket/clearDispatchCommandMsg');
|
||||
}
|
||||
},
|
||||
dispatchCommandState(obj) {
|
||||
Object.values(obj.cpStateMap).forEach(item => {
|
||||
if (item.cpId) {
|
||||
if (!this.queryResData.companyStateMap) {
|
||||
this.queryResData.companyStateMap = {};
|
||||
}
|
||||
this.$set(this.queryResData.companyStateMap, item.cpId, item);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
beforeDestroy() {},
|
||||
@ -224,8 +185,8 @@ export default {
|
||||
},
|
||||
methods:{
|
||||
tableRowClassName({row, rowIndex}) {
|
||||
const status = this.getStateInfo(row.rcvCompanies).state;
|
||||
if (status === 'Signed') {
|
||||
const status = this.getSignInfo(row.receiverInfos).signedStatus;
|
||||
if (status === 'SIGNED') {
|
||||
return 'signed-row';
|
||||
}
|
||||
return 'unsigned-row';
|
||||
@ -242,107 +203,98 @@ export default {
|
||||
handleCurrentChange(obj) {
|
||||
if (!obj) { return; }
|
||||
this.currentInfo = obj;
|
||||
const sArr = [undefined, 'Sent'];
|
||||
if (sArr.includes(this.getStateInfo(obj.rcvCompanies).state)) {
|
||||
if (!this.getSignInfo(obj.receiverInfos).receivedTime) {
|
||||
const data = {
|
||||
cmdId: this.commandId,
|
||||
rcId: this.rcId
|
||||
commandId: obj.id,
|
||||
title: obj.title
|
||||
};
|
||||
sendCommandNew(this.group, 'CTC_READ_DIS_COMMAND', data).then((res) => {
|
||||
sendCommandNew(this.group, 'CTC_READ_DISPATCH_COMMAND', data).then((res) => {
|
||||
console.log(res, '---res');
|
||||
// this.getReceiptData();
|
||||
const index = this.cmdTableData.findIndex(item => {
|
||||
return item.id == obj.id;
|
||||
});
|
||||
if (index >= 0) {
|
||||
const obj = this.cmdTableData[index];
|
||||
const devCode = this.getActiveUser.deviceCode || '';
|
||||
if (obj.receiverInfos[devCode]) {
|
||||
obj.receiverInfos[devCode].receivedTime = parseTime(this.initTime);
|
||||
this.cmdTableData.splice(index, 1, obj);
|
||||
}
|
||||
}
|
||||
}).catch(error => {
|
||||
console.log(error, '---已读命令error');
|
||||
});
|
||||
} else {
|
||||
// this.getReceiptData();
|
||||
}
|
||||
},
|
||||
getReceiptData() {
|
||||
sendCommandNew(this.group, 'CTC_QUERY_RECEIPT_DIS_COMMAND', {cmdId: this.currentInfo.cmdId}).then((res) => {
|
||||
console.log(res, '---回执--');
|
||||
this.receiptList = res.data.receiptList;
|
||||
}).catch(error => {
|
||||
this.receiptList = [];
|
||||
this.$messageBox('---回执失败--' + error.message);
|
||||
});
|
||||
},
|
||||
getActiveDeviceCodeInfo(list) {
|
||||
const findObj = list.find(item => {
|
||||
return item.code == this.getActiveUser.deviceCode;
|
||||
});
|
||||
return findObj;
|
||||
},
|
||||
getStateInfo(list) {
|
||||
const findObj = this.getActiveDeviceCodeInfo(list);
|
||||
let obj = {};
|
||||
if (findObj) {
|
||||
obj = this.queryResData.companyStateMap[findObj.id] || {};
|
||||
}
|
||||
getSignInfo(info) {
|
||||
const obj = info[this.getActiveUser.deviceCode] || {};
|
||||
return obj;
|
||||
},
|
||||
getSignedStatus(row) {
|
||||
let s = '';
|
||||
if (row.signedByProxy) {
|
||||
s = '代签';
|
||||
} else {
|
||||
s = this.signedStatusObj[row.state] || '';
|
||||
}
|
||||
return s;
|
||||
},
|
||||
getSignedBy(list) {
|
||||
const findObj = this.getStateInfo(list);
|
||||
const signedInfo = this.memberData[findObj.operatorId];
|
||||
getSignedBy(info) {
|
||||
const signedInfo = this.simulationUserList.find(item => {
|
||||
return item.memberId == info.signedBy;
|
||||
});
|
||||
let name = '';
|
||||
if (findObj.operatorId && signedInfo) {
|
||||
name = signedInfo.labelName;
|
||||
if (signedInfo) {
|
||||
name = signedInfo.nickName;
|
||||
}
|
||||
return name;
|
||||
},
|
||||
signCmd(status) {
|
||||
if (!this.commandId) { return; }
|
||||
const data = { cmdId: this.commandId, rcId: this.rcId, proxySign: false };
|
||||
let command = 'CTC_SIGN_DIS_COMMAND';
|
||||
if (!status) {
|
||||
command = 'CTC_SIGN_REJECT_DIS_COMMAND';
|
||||
delete data.proxySign;
|
||||
}
|
||||
sendCommandNew(this.group, command, data).then((res) => {
|
||||
const signInfo = { commandId: this.commandId, signedBy: this.getActiveUser.memberId, signedStatus: status, title: this.currentInfo.title };
|
||||
const data = {
|
||||
signInfo: signInfo
|
||||
};
|
||||
sendCommandNew(this.group, 'CTC_SIGN_DISPATCH_COMMAND', data).then((res) => {
|
||||
console.log(res, '---res');
|
||||
if (res.code == 200) {
|
||||
// this.searchCmd();
|
||||
this.changeSignedStatus(signInfo);
|
||||
} else {
|
||||
this.$messageBox(`${status ? '签收' : '拒签'}调度命令失败:${res.message}`);
|
||||
this.$messageBox(`${this.signedStatusObj[status]}调度命令失败:${res.message}`);
|
||||
}
|
||||
}).catch(error => {
|
||||
this.$messageBox(`${status ? '签收' : '拒签'}调度命令失败:${error.message}`);
|
||||
this.$messageBox(`${this.signedStatusObj[status]}调度命令失败:${error.message}`);
|
||||
});
|
||||
},
|
||||
filterTableData() {
|
||||
const { companyStateMap = {}, disCmdMap = {} } = this.queryResData;
|
||||
const list = [];
|
||||
const fArr = ['Editing', 'Cache'];
|
||||
Object.values(companyStateMap).forEach(item => {
|
||||
if (!fArr.includes(item.state)) {
|
||||
const findObj = this.findDisCmdObj(disCmdMap, item.cpId);
|
||||
if (findObj) {
|
||||
list.push(findObj);
|
||||
}
|
||||
}
|
||||
changeReadStatus(signInfo) {
|
||||
const index = this.cmdTableData.findIndex(item => {
|
||||
return item.id == signInfo.commandId;
|
||||
});
|
||||
return list.reverse();
|
||||
if (index >= 0) {
|
||||
const obj = this.cmdTableData[index];
|
||||
const devCode = this.getActiveUser.deviceCode || '';
|
||||
if (obj.receiverInfos[devCode]) {
|
||||
const mId = signInfo.signedBy;
|
||||
obj.receiverInfos[devCode].signedBy = mId;
|
||||
obj.receiverInfos[devCode].signedStatus = signInfo.signedStatus;
|
||||
obj.receiverInfos[devCode].time = parseTime(this.initTime);
|
||||
this.cmdTableData.splice(index, 1, obj);
|
||||
}
|
||||
}
|
||||
},
|
||||
findDisCmdObj(obj, val) {
|
||||
return Object.values(obj).find(item => {
|
||||
return item.rcvCompanies[0].id == val;
|
||||
changeSignedStatus(signInfo) {
|
||||
const index = this.cmdTableData.findIndex(item => {
|
||||
return item.id == signInfo.commandId;
|
||||
});
|
||||
if (index >= 0) {
|
||||
const obj = this.cmdTableData[index];
|
||||
const devCode = this.getActiveUser.deviceCode || '';
|
||||
if (obj.receiverInfos[devCode]) {
|
||||
const mId = signInfo.signedBy;
|
||||
obj.receiverInfos[devCode].signedBy = mId;
|
||||
obj.receiverInfos[devCode].signedStatus = signInfo.signedStatus;
|
||||
obj.receiverInfos[devCode].time = parseTime(this.initTime);
|
||||
this.cmdTableData.splice(index, 1, obj);
|
||||
}
|
||||
}
|
||||
},
|
||||
searchCmd() {
|
||||
this.cmdTableData = [];
|
||||
sendCommandNew(this.group, 'CTC_QUERY_DIS_COMMAND', {holderType: 'Station', holderCode: this.getActiveUser.deviceCode}).then((res) => {
|
||||
sendCommandNew(this.group, 'CTC_QUERY_DISPATCH_COMMAND', {}).then((res) => {
|
||||
console.log(res, '---res');
|
||||
if (res.code == 200) {
|
||||
this.queryResData = res.data;
|
||||
this.cmdTableData = this.filterTableData();
|
||||
this.cmdTableData = res.data;
|
||||
} else {
|
||||
this.$messageBox('查询调度命令失败:' + res.message);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
<el-col :span="8">
|
||||
<div>
|
||||
<span>命令号码:</span>
|
||||
<span>{{ signedData.cmdCode }}</span>
|
||||
<span>{{ signedData.number }}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -45,13 +45,13 @@
|
||||
<el-col :span="9">
|
||||
<div>
|
||||
<span>发令单位:</span>
|
||||
<span>{{ signedData.sendCompany ? signedData.sendCompany.name : '' }}</span>
|
||||
<span>{{ signedData.companyOfSender }}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="15">
|
||||
<div>
|
||||
<span>调度员姓名:</span>
|
||||
<span>{{ signedData.sender }}</span>
|
||||
<span>{{ signedData.senderName }}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -64,7 +64,11 @@
|
||||
<div class="box-table">
|
||||
<el-table :data="getTableData" style="width: 100%" height="200">
|
||||
<el-table-column type="index" label="序" width="50" />
|
||||
<el-table-column prop="name" label="受令单位" />
|
||||
<el-table-column prop="deviceName" label="受令单位">
|
||||
<template slot-scope="scope">
|
||||
<span style="margin-left: 10px">{{ getDeviceName(scope.row.receiverId) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="copyers" label="抄知处所" />
|
||||
</el-table>
|
||||
</div>
|
||||
@ -81,8 +85,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-btn">
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd(false)">拒签</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd(true)">签收</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd('REFUSE')">拒签</el-button>
|
||||
<el-button :disabled="!commandId || currentHasSigned" @click="signCmd('SIGNED')">签收</el-button>
|
||||
<el-button @click="doClose">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@ -96,34 +100,24 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
signedData: {},
|
||||
queryResData: {},
|
||||
needRead: false,
|
||||
needprint: false,
|
||||
dialogShow: false,
|
||||
// signedId: '',
|
||||
signedId: '',
|
||||
signedBy: '',
|
||||
typeObj: {
|
||||
Normal: '普通调度命令',
|
||||
Construct: '施工调度命令',
|
||||
Forward: '转发调度命令',
|
||||
Request: '请求调度命令',
|
||||
LongTerm: '长效调度命令',
|
||||
ShiftScheduling: '班计划调度命令',
|
||||
Other: '其他调度命令'
|
||||
NORMAL: '正常调度命令'
|
||||
},
|
||||
signedStatusObj: {
|
||||
Cache: '缓存',
|
||||
Sent: '已发送',
|
||||
SrmReceived: '自律机接收',
|
||||
Received: '已接收',
|
||||
Signed: '已签收',
|
||||
Reject: '已拒签'
|
||||
UNSIGNED: '未签收',
|
||||
SIGNED: '签收',
|
||||
REFUSE: '拒签'
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('training', [
|
||||
'memberList', 'memberData', 'simulationUserList', 'initTime'
|
||||
'memberList', 'simulationUserList', 'initTime'
|
||||
]),
|
||||
...mapState('socket', [
|
||||
'dispatchCommandMsg'
|
||||
@ -138,32 +132,17 @@ export default {
|
||||
return '调度命令管理';
|
||||
},
|
||||
commandId() {
|
||||
return this.signedData.cmdId || '';
|
||||
},
|
||||
rcId() {
|
||||
const rcArr = this.signedData.rcvCompanies || [];
|
||||
const obj = rcArr.find(item => {
|
||||
return item.code == this.getActiveUser.deviceCode;
|
||||
});
|
||||
const id = obj ? obj.id : '';
|
||||
return id;
|
||||
},
|
||||
currentStatus() {
|
||||
let s = '编辑';
|
||||
const cpId = this.signedData.sendCompany.id;
|
||||
if (this.queryResData.companyStateMap && this.queryResData.companyStateMap[cpId]) {
|
||||
const state = this.queryResData.companyStateMap[cpId].state;
|
||||
s = this.signedStatusObj[state] ? this.signedStatusObj[state] : '编辑';
|
||||
}
|
||||
return s;
|
||||
return this.signedData.id || '';
|
||||
},
|
||||
currentHasSigned() {
|
||||
let s = false;
|
||||
const sentArr = ['编辑', '缓存', '已发送'];
|
||||
if (!sentArr.includes(this.currentStatus)) {
|
||||
s = true;
|
||||
let hasSigned = false;
|
||||
if (this.signedData.receiverInfos) {
|
||||
const obj = this.getSignInfo(this.signedData.receiverInfos);
|
||||
if (obj && obj.signedStatus != 'UNSIGNED') {
|
||||
hasSigned = true;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
return hasSigned;
|
||||
},
|
||||
getActiveUser() {
|
||||
const userInfo = this.simulationUserList.find(item => {
|
||||
@ -173,7 +152,15 @@ export default {
|
||||
return activeUser;
|
||||
},
|
||||
getTableData() {
|
||||
const list = this.signedData.rcvCompanies || [];
|
||||
const receiverList = Object.values(this.signedData.receiverInfos || {});
|
||||
const list = [];
|
||||
receiverList.forEach(item => {
|
||||
const obj = {
|
||||
...this.signedData,
|
||||
...item
|
||||
};
|
||||
list.push(obj);
|
||||
});
|
||||
return list;
|
||||
}
|
||||
},
|
||||
@ -192,19 +179,20 @@ export default {
|
||||
getParseTime(val, f) {
|
||||
return val ? parseTime(val, f) : '';
|
||||
},
|
||||
getSignedBy() {
|
||||
const activeUser = Object.values(this.memberData).find(item => {
|
||||
getSenderName() {
|
||||
this.signedBy = '';
|
||||
this.signedId = '';
|
||||
const activeUser = this.simulationUserList.find(item => {
|
||||
return item.userId == this.$store.state.user.id;
|
||||
});
|
||||
let name = '';
|
||||
if (activeUser) {
|
||||
name = activeUser.labelName;
|
||||
this.signedBy = activeUser.nickName;
|
||||
this.signedId = activeUser.memberId;
|
||||
}
|
||||
this.signedBy = name;
|
||||
},
|
||||
async doShow() {
|
||||
await this.searchCmd(); // 补齐剧本指令,同cmdManage
|
||||
this.getSignedBy();
|
||||
this.getSenderName();
|
||||
this.getSignedData();
|
||||
this.dialogShow = true;
|
||||
this.hasReadCmd();
|
||||
@ -215,17 +203,31 @@ export default {
|
||||
},
|
||||
getSignedData() {
|
||||
this.signedData = {};
|
||||
if (this.dispatchCommandMsg) {
|
||||
this.signedData = this.dispatchCommandMsg;
|
||||
if (this.dispatchCommandMsg.type == 'ADD') {
|
||||
this.signedData = this.dispatchCommandMsg.body;
|
||||
}
|
||||
},
|
||||
getSignInfo(info) {
|
||||
const obj = info[this.getActiveUser.deviceCode] || {};
|
||||
return obj;
|
||||
},
|
||||
getSignedBy(info) {
|
||||
const signedInfo = this.simulationUserList.find(item => {
|
||||
return item.memberId == info.signedBy;
|
||||
});
|
||||
let name = '';
|
||||
if (signedInfo) {
|
||||
name = signedInfo.nickName;
|
||||
}
|
||||
return name;
|
||||
},
|
||||
hasReadCmd() {
|
||||
if (!this.commandId) { return; }
|
||||
const data = {
|
||||
cmdId: this.commandId,
|
||||
rcId: this.rcId
|
||||
commandId: this.commandId,
|
||||
title: this.signedData.title
|
||||
};
|
||||
sendCommandNew(this.group, 'CTC_READ_DIS_COMMAND', data).then((res) => {
|
||||
sendCommandNew(this.group, 'CTC_READ_DISPATCH_COMMAND', data).then((res) => {
|
||||
console.log(res, '---res');
|
||||
}).catch(error => {
|
||||
console.log(error, '---已读命令error');
|
||||
@ -233,13 +235,11 @@ export default {
|
||||
},
|
||||
signCmd(status) {
|
||||
if (!this.commandId) { return; }
|
||||
const data = { cmdId: this.commandId, rcId: this.rcId, proxySign: false };
|
||||
let command = 'CTC_SIGN_DIS_COMMAND';
|
||||
if (!status) {
|
||||
command = 'CTC_SIGN_REJECT_DIS_COMMAND';
|
||||
delete data.proxySign;
|
||||
}
|
||||
sendCommandNew(this.group, command, data).then((res) => {
|
||||
const signInfo = { commandId: this.commandId, signedBy: this.signedId, signedStatus: status, title: this.signedData.title };
|
||||
const data = {
|
||||
signInfo: signInfo
|
||||
};
|
||||
sendCommandNew(this.group, 'CTC_SIGN_DISPATCH_COMMAND', data).then((res) => {
|
||||
console.log(res, '---res');
|
||||
// this.$emit('changeSignedStatus', signInfo);
|
||||
this.doClose();
|
||||
@ -249,9 +249,8 @@ export default {
|
||||
},
|
||||
searchCmd() {
|
||||
return new Promise((resolve, reject) => {
|
||||
sendCommandNew(this.group, 'CTC_QUERY_DIS_COMMAND', {holderType: 'Station', holderCode: this.getActiveUser.deviceCode}).then((res) => {
|
||||
sendCommandNew(this.group, 'CTC_QUERY_DISPATCH_COMMAND', {}).then((res) => {
|
||||
console.log(res, '---res----');
|
||||
this.queryResData = res.data;
|
||||
resolve();
|
||||
}).catch(error => {
|
||||
reject(error.message);
|
||||
|
@ -33,7 +33,7 @@
|
||||
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;">与中心通信正常</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="$store.state.training.prdType == '01'&& !isCtc" id="tipInfoBox" style="width: 1560px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div id="tipInfoBox" v-if="$store.state.training.prdType == '01'&& !isCtc" style="width: 1560px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
|
||||
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
|
||||
</div>
|
||||
@ -211,7 +211,7 @@ export default {
|
||||
]),
|
||||
hasCommandMsg() {
|
||||
let status = false;
|
||||
if (this.dispatchCommandMsg) {
|
||||
if (this.dispatchCommandMsg.body) {
|
||||
status = true;
|
||||
}
|
||||
return status;
|
||||
@ -425,9 +425,9 @@ export default {
|
||||
}
|
||||
},
|
||||
initDate(date) {
|
||||
this.time = timestampFormat('HH:mm:ss', date);
|
||||
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date);
|
||||
this.time = timestampFormat('HH:mm:ss', date)
|
||||
this.dateString = timestampFormat('YYYYMMDD', date)
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date)
|
||||
},
|
||||
handleRunplan() {
|
||||
this.$refs.runplanPane.doShow();
|
||||
|
@ -652,7 +652,7 @@ export default {
|
||||
]),
|
||||
hasCommandMsg() {
|
||||
let status = false;
|
||||
if (this.dispatchCommandMsg) {
|
||||
if (this.dispatchCommandMsg.body) {
|
||||
status = true;
|
||||
}
|
||||
return status;
|
||||
@ -704,9 +704,9 @@ export default {
|
||||
}
|
||||
},
|
||||
initDate(date) {
|
||||
this.time = timestampFormat('HH:mm:ss', date);
|
||||
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date);
|
||||
this.time = timestampFormat('HH:mm:ss', date)
|
||||
this.dateString = timestampFormat('YYYYMMDD', date)
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date)
|
||||
},
|
||||
judgeColor({row, rowIndex}) {
|
||||
if (row.effect) {
|
||||
|
@ -33,7 +33,7 @@
|
||||
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;">与中心通信正常</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="$store.state.training.prdType == '01'&& !isCtc" id="tipInfoBox" style="width: 1405px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div id="tipInfoBox" v-if="$store.state.training.prdType == '01'&& !isCtc" style="width: 1405px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
|
||||
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
|
||||
</div>
|
||||
@ -189,7 +189,7 @@ export default {
|
||||
]),
|
||||
hasCommandMsg() {
|
||||
let status = false;
|
||||
if (this.dispatchCommandMsg) {
|
||||
if (this.dispatchCommandMsg.body) {
|
||||
status = true;
|
||||
}
|
||||
return status;
|
||||
@ -271,9 +271,9 @@ export default {
|
||||
}
|
||||
},
|
||||
initDate(date) {
|
||||
this.time = timestampFormat('HH:mm:ss', date);
|
||||
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date);
|
||||
this.time = timestampFormat('HH:mm:ss', date)
|
||||
this.dateString = timestampFormat('YYYYMMDD', date)
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date)
|
||||
},
|
||||
handleRunplan() {
|
||||
this.$refs.runplanPane.doShow();
|
||||
|
@ -564,7 +564,7 @@ export default {
|
||||
]),
|
||||
hasCommandMsg() {
|
||||
let status = false;
|
||||
if (this.dispatchCommandMsg) {
|
||||
if (this.dispatchCommandMsg.body) {
|
||||
status = true;
|
||||
}
|
||||
return status;
|
||||
|
@ -33,7 +33,7 @@
|
||||
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;">与中心通信正常</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="$store.state.training.prdType == '01'&& !isCtc" id="tipInfoBox" style="width: 1405px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div id="tipInfoBox" v-if="$store.state.training.prdType == '01'&& !isCtc" style="width: 1405px;position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
|
||||
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
|
||||
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
|
||||
</div>
|
||||
@ -189,7 +189,7 @@ export default {
|
||||
]),
|
||||
hasCommandMsg() {
|
||||
let status = false;
|
||||
if (this.dispatchCommandMsg) {
|
||||
if (this.dispatchCommandMsg.body) {
|
||||
status = true;
|
||||
}
|
||||
return status;
|
||||
@ -271,9 +271,9 @@ export default {
|
||||
}
|
||||
},
|
||||
initDate(date) {
|
||||
this.time = timestampFormat('HH:mm:ss', date);
|
||||
this.dateString = timestampFormat('YYYYMMDD', date);
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date);
|
||||
this.time = timestampFormat('HH:mm:ss', date)
|
||||
this.dateString = timestampFormat('YYYYMMDD', date)
|
||||
this.dateString1 = timestampFormat('YYYY年MM月DD日', date)
|
||||
},
|
||||
handleRunplan() {
|
||||
this.$refs.runplanPane.doShow();
|
||||
|
@ -277,14 +277,9 @@ function handle(state, data) {
|
||||
state.railCtcStationManageRpChange++;
|
||||
break;
|
||||
// 调度命令信息
|
||||
case 'SIMULATION_RAIL_CTC_DIS_COMMAND_ADD':
|
||||
case 'SIMULATION_RAIL_CTC_DISPATCH_COMMAND':
|
||||
state.dispatchCommandMsg = msg;
|
||||
break;
|
||||
// 调度命令状态
|
||||
case 'SIMULATION_RAIL_CTC_DIS_COMMAND_SYNC':
|
||||
state.dispatchCommandState = msg;
|
||||
console.log('调度命令状态', msg);
|
||||
break;
|
||||
// 车站发送计划信息
|
||||
case 'SIMULATION_CTC_RUN_PLAN_CONFIRM_SEND':
|
||||
state.changedCtcRunplanMap = msg;
|
||||
@ -482,8 +477,7 @@ const socket = {
|
||||
simulationPlanChange:{}, // 运行图加线/抽线/变化推送消息
|
||||
loggedOutMsg: '',
|
||||
railCtcStatusMsg: {}, // 占线板信息
|
||||
dispatchCommandMsg: null, // 调度命令信息
|
||||
dispatchCommandState: null, // 调度命令状态
|
||||
dispatchCommandMsg: {}, // 调度命令信息
|
||||
changedCtcRunplanMap:{}, // 大铁项目 ctc 被修改运行计划的车站信息
|
||||
railCtcRunplanInitMsg:{}, // 大铁项目 ctc 运行图初始化信息
|
||||
railCtcRunplanChange:0, // 大铁项目 ctc 运行图信息变化
|
||||
@ -505,12 +499,12 @@ const socket = {
|
||||
firstTrainRemain: '',
|
||||
firstEndStationName: '',
|
||||
secondTrainRemain: '',
|
||||
secondEndStationName: ''
|
||||
secondEndStationName: '',
|
||||
},
|
||||
onboardPisState: {
|
||||
nextStationName: '',
|
||||
endStationName: ''
|
||||
}
|
||||
endStationName: '',
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
},
|
||||
@ -598,17 +592,17 @@ const socket = {
|
||||
state.iscsStatePisMessages = speed;
|
||||
},
|
||||
setStandPisMessages: (state, payload) => {
|
||||
state.standPisState = payload;
|
||||
state.standPisState = payload
|
||||
},
|
||||
setOnboardPisMessages: (state, payload) => {
|
||||
state.onboardPisState = payload;
|
||||
state.onboardPisState = payload
|
||||
},
|
||||
deleteRailwaySimulationRunplan: (state, stationCode) => {
|
||||
delete state.railwaySimulationRunplanSendMap[stationCode];
|
||||
state.railwaySimulationRunplanSendChange++;
|
||||
},
|
||||
clearDispatchCommandMsg: (state, data) => {
|
||||
state.dispatchCommandMsg = null;
|
||||
state.dispatchCommandMsg = {};
|
||||
},
|
||||
resetRailCtcRunplanInitMsg: (state) => {
|
||||
state.railCtcRunplanInitMsg = {};
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user