Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
9e45a0d342
@ -148,8 +148,8 @@
|
|||||||
<el-button v-if="queryForm.reset" type="primary" size="small" :disabled="!canQuery" @click="doClean">{{ $t('global.reset') }}</el-button>
|
<el-button v-if="queryForm.reset" type="primary" size="small" :disabled="!canQuery" @click="doClean">{{ $t('global.reset') }}</el-button>
|
||||||
<el-button v-if="exportFlag" type="primary" size="small" :disabled="!canQuery" @click="doExport">{{ $t('global.export') }}</el-button>
|
<el-button v-if="exportFlag" type="primary" size="small" :disabled="!canQuery" @click="doExport">{{ $t('global.export') }}</el-button>
|
||||||
<template v-for="(button, index) in queryList.actions">
|
<template v-for="(button, index) in queryList.actions">
|
||||||
<el-button v-if="button.fileType==='file'" :key="index" :type="button.type ? button.type: 'primary'" size="small" class="button_style" :disabled="button.disabled" :loading="button.disabled">
|
<el-button v-if="button.fileType==='file' && (button.hasOwnProperty('show') ? button.show: true)" :key="index" :type="button.type ? button.type: 'primary'" size="small" class="button_style uploadDemo" :disabled="button.disabled" :loading="button.disabled">
|
||||||
<input ref="files" type="file" class="file_box" accept=".json, application/json" @change="button.handler">
|
<input id="queryFormFilesInput" type="file" class="file_box" accept=".json, application/json" @change="button.handler">
|
||||||
{{ $t('map.importMap') }}
|
{{ $t('map.importMap') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
@ -523,13 +523,32 @@ export default {
|
|||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
.uploadDemo {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
/*width: 60px;*/
|
||||||
|
padding: 0 15px;
|
||||||
|
height: 32px;
|
||||||
|
/*input {*/
|
||||||
|
/*width: 100%;*/
|
||||||
|
/*height: 100%;*/
|
||||||
|
/*position: relative;*/
|
||||||
|
/*left: 0;*/
|
||||||
|
/*top: 0;*/
|
||||||
|
/*opacity: 0;*/
|
||||||
|
/*cursor: pointer;*/
|
||||||
|
/*}*/
|
||||||
|
}
|
||||||
.file_box {
|
.file_box {
|
||||||
width: 50px;
|
width: 100%;
|
||||||
height: 30px;
|
height: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
z-index: 100;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<!-- <el-button class="expand" @click="expandPath">展开进路预览</el-button> -->
|
<!-- <el-button class="expand" @click="expandPath">展开进路预览</el-button> -->
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; margin-top:10px" size="mini" height="120" highlight-current-row :show-header="false" @row-click="clickEvent">
|
<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; height: 120px; margin-top:10px" size="mini" highlight-current-row :show-header="false" @row-click="clickEvent">
|
||||||
<el-table-column :id="domIdChoose" prop="name" style="margin-left:30px" />
|
<el-table-column :id="domIdChoose" prop="name" style="margin-left:30px" />
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-row justify="center" class="button-group">
|
<el-row justify="center" class="button-group">
|
||||||
|
@ -293,10 +293,10 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
// this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
|
@ -13,9 +13,9 @@
|
|||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" />
|
||||||
<menu-station ref="menuStation" :selected="selected" />
|
<menu-station ref="menuStation" :selected="selected" />
|
||||||
<menu-limit ref="menuLimit" :selected="selected" />
|
<menu-limit ref="menuLimit" :selected="selected" />
|
||||||
<passive-alarm ref="passiveAlarm" />
|
<!--<passive-alarm ref="passiveAlarm" />-->
|
||||||
<passive-contorl ref="passiveControl" />
|
<passive-contorl ref="passiveControl" />
|
||||||
<passive-Timeout ref="passiveTimeout" />
|
<!--<passive-Timeout ref="passiveTimeout" />-->
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -34,9 +34,9 @@ import MenuTrain from './menuTrain';
|
|||||||
import MenuStation from './menuStation';
|
import MenuStation from './menuStation';
|
||||||
import MenuBar from './menuBar';
|
import MenuBar from './menuBar';
|
||||||
import MenuLimit from './menuLimit';
|
import MenuLimit from './menuLimit';
|
||||||
import PassiveAlarm from './passiveDialog/alarm';
|
// import PassiveAlarm from './passiveDialog/alarm';
|
||||||
import PassiveContorl from './passiveDialog/control';
|
import PassiveContorl from './passiveDialog/control';
|
||||||
import PassiveTimeout from './passiveDialog/timeout';
|
// import PassiveTimeout from './passiveDialog/timeout';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Menus',
|
name: 'Menus',
|
||||||
@ -53,9 +53,9 @@ export default {
|
|||||||
MenuStation,
|
MenuStation,
|
||||||
MenuTrain,
|
MenuTrain,
|
||||||
MenuLimit,
|
MenuLimit,
|
||||||
PassiveAlarm,
|
// PassiveAlarm,
|
||||||
PassiveContorl,
|
PassiveContorl
|
||||||
PassiveTimeout
|
// PassiveTimeout
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -113,7 +113,7 @@ export default {
|
|||||||
|
|
||||||
.ningbo-01__systerm .el-dialog {
|
.ningbo-01__systerm .el-dialog {
|
||||||
background: rgba(100, 100, 100, 0.3);
|
background: rgba(100, 100, 100, 0.3);
|
||||||
border: 2px solid rgb(144, 144, 144, 0.8);
|
border: 2px solid rgba(144, 144, 144, 0.8);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: #000;
|
color: #000;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
@ -1,207 +1,213 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="ningbo-01__systerm alarm-detail" :title="level+'级告警详细信息'" :visible.sync="show" width="760px"
|
<el-dialog
|
||||||
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
v-dialogDrag
|
||||||
<el-form label-width="80px" size="mini">
|
class="ningbo-01__systerm alarm-detail"
|
||||||
<el-row>
|
:title="level+'级告警详细信息'"
|
||||||
<el-col :span="8">
|
:visible.sync="show"
|
||||||
<el-form-item label="线路名称">
|
width="760px"
|
||||||
<el-input v-model="model.lineName" disabled></el-input>
|
:before-close="doClose"
|
||||||
</el-form-item>
|
:z-index="2000"
|
||||||
</el-col>
|
:modal="false"
|
||||||
<el-col :span="8">
|
:close-on-click-modal="false"
|
||||||
<el-form-item label="单位名称">
|
>
|
||||||
<el-input v-model="model.unitName" disabled></el-input>
|
<el-form label-width="80px" size="mini">
|
||||||
</el-form-item>
|
<el-row>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="线路名称">
|
||||||
<el-form-item label="模块名称">
|
<el-input v-model="model.lineName" disabled />
|
||||||
<el-input v-model="model.moduleName" disabled></el-input>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
</el-row>
|
<el-form-item label="单位名称">
|
||||||
<el-row>
|
<el-input v-model="model.unitName" disabled />
|
||||||
<el-col :span="9">
|
</el-form-item>
|
||||||
<el-form-item label="报警时间">
|
</el-col>
|
||||||
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled>
|
<el-col :span="8">
|
||||||
</el-date-picker>
|
<el-form-item label="模块名称">
|
||||||
</el-form-item>
|
<el-input v-model="model.moduleName" disabled />
|
||||||
</el-col>
|
</el-form-item>
|
||||||
<el-col :span="7">
|
</el-col>
|
||||||
<el-form-item>
|
</el-row>
|
||||||
<span slot="label">等 级</span>
|
<el-row>
|
||||||
<el-input v-model="model.level" disabled></el-input>
|
<el-col :span="9">
|
||||||
</el-form-item>
|
<el-form-item label="报警时间">
|
||||||
</el-col>
|
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled />
|
||||||
<el-col :span="8">
|
</el-form-item>
|
||||||
<el-form-item label="确认状态">
|
</el-col>
|
||||||
<el-input v-model="model.confirm" disabled></el-input>
|
<el-col :span="7">
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
</el-col>
|
<span slot="label">等 级</span>
|
||||||
</el-row>
|
<el-input v-model="model.level" disabled />
|
||||||
<el-row>
|
</el-form-item>
|
||||||
<el-col :span="9" class="alarm-type">
|
</el-col>
|
||||||
<el-form-item>
|
<el-col :span="8">
|
||||||
<span slot="label">类  型</span>
|
<el-form-item label="确认状态">
|
||||||
<el-input v-model="model.type" disabled></el-input>
|
<el-input v-model="model.confirm" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="15" class="alarm-child-type">
|
</el-row>
|
||||||
<el-form-item label="子类型">
|
<el-row>
|
||||||
<el-input v-model="model.childType" disabled></el-input>
|
<el-col :span="9" class="alarm-type">
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
</el-col>
|
<span slot="label">类  型</span>
|
||||||
</el-row>
|
<el-input v-model="model.type" disabled />
|
||||||
<el-form-item label="时间摘要">
|
</el-form-item>
|
||||||
<el-input v-model="model.timeSummary" disabled></el-input>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="15" class="alarm-child-type">
|
||||||
<el-form-item label="推荐操作">
|
<el-form-item label="子类型">
|
||||||
<el-input v-model="model.recommendedOperation" disabled></el-input>
|
<el-input v-model="model.childType" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div class="alarm-detail-description">
|
</el-col>
|
||||||
<span> 报警详细描述</span><br>
|
</el-row>
|
||||||
<el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="model.alarmDetail" disabled>
|
<el-form-item label="时间摘要">
|
||||||
</el-input>
|
<el-input v-model="model.timeSummary" disabled />
|
||||||
</div>
|
</el-form-item>
|
||||||
</el-form>
|
<el-form-item label="推荐操作">
|
||||||
<el-row class="button-group">
|
<el-input v-model="model.recommendedOperation" disabled />
|
||||||
<el-col :span="3" :offset="9">
|
</el-form-item>
|
||||||
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确 定</el-button>
|
<div class="alarm-detail-description">
|
||||||
</el-col>
|
<span> 报警详细描述</span><br>
|
||||||
<el-col :span="10">
|
<el-input v-model="model.alarmDetail" type="textarea" :rows="5" placeholder="请输入内容" disabled />
|
||||||
<span style="line-height:26px">未确认{{level}}级报警数目:1</span>
|
</div>
|
||||||
</el-col>
|
</el-form>
|
||||||
</el-row>
|
<el-row class="button-group">
|
||||||
</el-dialog>
|
<el-col :span="3" :offset="9">
|
||||||
|
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确 定</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10">
|
||||||
|
<span style="line-height:26px">未确认{{ level }}级报警数目:1</span>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
import { OperationEvent } from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AlarmDetail',
|
name: 'AlarmDetail',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
level: 0,
|
level: 0,
|
||||||
operate: null,
|
operate: null,
|
||||||
controlProps: {
|
controlProps: {
|
||||||
'01': '中控',
|
'01': '中控',
|
||||||
'02': '站控'
|
'02': '站控'
|
||||||
},
|
},
|
||||||
model: {
|
model: {
|
||||||
lineName: '',
|
lineName: '',
|
||||||
unitName: '',
|
unitName: '',
|
||||||
moduleName: '',
|
moduleName: '',
|
||||||
level: '',
|
level: '',
|
||||||
confirm: '',
|
confirm: '',
|
||||||
alarmDate: '',
|
alarmDate: '',
|
||||||
type: '',
|
type: '',
|
||||||
childType: '',
|
childType: '',
|
||||||
timeSummary: '',
|
timeSummary: '',
|
||||||
recommendedOperation: '',
|
recommendedOperation: '',
|
||||||
alarmDetail: ''
|
alarmDetail: ''
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'name'
|
||||||
|
]),
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
computed: {
|
domIdCancel() {
|
||||||
...mapGetters('map', [
|
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
|
||||||
'name',
|
}
|
||||||
]),
|
},
|
||||||
show() {
|
watch: {
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
},
|
if (elem && elem.hasOwnProperty('success')) {
|
||||||
domIdCancel() {
|
if (elem.success) {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
|
const operate = this.$store.state.training.operate;
|
||||||
},
|
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
||||||
},
|
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
||||||
watch: {
|
const newOperate = {
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
type: operate.type,
|
||||||
if (elem && elem.hasOwnProperty('success')) {
|
name: station.name
|
||||||
if (elem.success) {
|
};
|
||||||
let operate = this.$store.state.training.operate;
|
|
||||||
let control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
|
||||||
let station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
|
||||||
let newOperate = {
|
|
||||||
type: operate.type,
|
|
||||||
name: station.name,
|
|
||||||
}
|
|
||||||
|
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$store.dispatch('training/tipReload');
|
|
||||||
})
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
doShow(operate) {
|
|
||||||
this.operate = operate || {};
|
|
||||||
this.model = {
|
|
||||||
lineName: this.name,
|
|
||||||
unitName: this.operate.name,
|
|
||||||
moduleName: 'CMM控制模式转换模式',
|
|
||||||
level: '0级告警',
|
|
||||||
confirm: '确认状态',
|
|
||||||
alarmDate: new Date(),
|
|
||||||
type: '系统事件',
|
|
||||||
childType: '依据信号设备操作命令设置控制模式',
|
|
||||||
timeSummary: '控制模式摘要',
|
|
||||||
recommendedOperation: '',
|
|
||||||
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
|
|
||||||
}
|
|
||||||
this.dialogShow = true;
|
|
||||||
this.$nextTick(function () {
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
});
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
this.$store.dispatch('socket/shiftMsgQueue');
|
|
||||||
}
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
},
|
|
||||||
cancel() {
|
|
||||||
let operate = {
|
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.alarm.operation,
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
commit() {
|
|
||||||
let operate = {
|
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.alarm.operation,
|
|
||||||
}
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
isClose() {
|
|
||||||
return this.dialogShow;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow(operate) {
|
||||||
|
this.operate = operate || {};
|
||||||
|
this.model = {
|
||||||
|
lineName: this.name,
|
||||||
|
unitName: this.operate.name,
|
||||||
|
moduleName: 'CMM控制模式转换模式',
|
||||||
|
level: '0级告警',
|
||||||
|
confirm: '确认状态',
|
||||||
|
alarmDate: new Date(),
|
||||||
|
type: '系统事件',
|
||||||
|
childType: '依据信号设备操作命令设置控制模式',
|
||||||
|
timeSummary: '控制模式摘要',
|
||||||
|
recommendedOperation: '',
|
||||||
|
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
|
||||||
|
};
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
if (this.dialogShow) {
|
||||||
|
this.$store.dispatch('socket/shiftMsgQueue');
|
||||||
|
}
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.alarm.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.alarm.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
isClose() {
|
||||||
|
return this.dialogShow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
|
||||||
|
|
||||||
.alarm-type .el-input {
|
.alarm-type .el-input {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
}
|
}
|
||||||
@ -210,4 +216,4 @@
|
|||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,106 +1,114 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="ningbo-01__systerm cmd-notice" title="操作命令提示" :visible.sync="show" width="400px" :before-close="doClose"
|
<el-dialog
|
||||||
:zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
v-dialogDrag
|
||||||
<span>{{name}},{{msg}}!</span>
|
class="ningbo-01__systerm cmd-notice"
|
||||||
<el-row class="button-group">
|
title="操作命令提示"
|
||||||
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确认</el-button>
|
:visible.sync="show"
|
||||||
</el-row>
|
width="400px"
|
||||||
</el-dialog>
|
:before-close="doClose"
|
||||||
|
:z-index="2000"
|
||||||
|
:modal="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<span>{{ name }},{{ msg }}!</span>
|
||||||
|
<el-row class="button-group">
|
||||||
|
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确认</el-button>
|
||||||
|
</el-row>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
|
import { OperationEvent } from '@/scripts/ConstDic';
|
||||||
export default {
|
export default {
|
||||||
name: 'CmdNotice',
|
name: 'CmdNotice',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
operate: null,
|
operate: null,
|
||||||
name: '',
|
name: '',
|
||||||
msg: ''
|
msg: ''
|
||||||
}
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
computed: {
|
domIdCancel() {
|
||||||
show() {
|
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
}
|
||||||
},
|
},
|
||||||
domIdCancel() {
|
watch: {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
},
|
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
|
||||||
},
|
const operate = this.$store.state.training.operate;
|
||||||
watch: {
|
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
||||||
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
|
const newOperate = {
|
||||||
let operate = this.$store.state.training.operate;
|
type: operate.type,
|
||||||
let control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
name: station.name
|
||||||
let station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
};
|
||||||
let newOperate = {
|
|
||||||
type: operate.type,
|
|
||||||
name: station.name,
|
|
||||||
}
|
|
||||||
|
|
||||||
if (elem.timeout) {
|
if (elem.timeout) {
|
||||||
newOperate['msg'] = '请求超时';
|
newOperate['msg'] = '请求超时';
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
} else if (!elem.success) {
|
} else if (!elem.success) {
|
||||||
newOperate['msg'] = '请求拒绝';
|
newOperate['msg'] = '请求拒绝';
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$store.dispatch('training/tipReload');
|
|
||||||
})
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
doShow(operate) {
|
|
||||||
this.operate = operate || {};
|
|
||||||
this.name = this.operate.name || '';
|
|
||||||
this.msg = this.operate.msg || '';
|
|
||||||
this.dialogShow = true;
|
|
||||||
this.$nextTick(function () {
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
});
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
this.$store.dispatch('socket/shiftMsgQueue');
|
|
||||||
}
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
},
|
|
||||||
cancel() {
|
|
||||||
let operate = {
|
|
||||||
operation: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.notice.operation,
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
commit() {
|
|
||||||
let operate = {
|
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.notice.operation,
|
|
||||||
}
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
isClose() {
|
|
||||||
return this.dialogShow;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow(operate) {
|
||||||
|
this.operate = operate || {};
|
||||||
|
this.name = this.operate.name || '';
|
||||||
|
this.msg = this.operate.msg || '';
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
if (this.dialogShow) {
|
||||||
|
this.$store.dispatch('socket/shiftMsgQueue');
|
||||||
|
}
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
isClose() {
|
||||||
|
return this.dialogShow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@ -213,11 +213,11 @@ export default {
|
|||||||
operateType: 'Stand_View_Status',
|
operateType: 'Stand_View_Status',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '查看站台信息({10}-{12}站台)',
|
trainingName: '查看站台信息({10}-{12}站台)',
|
||||||
trainingRemark: '查看站台信息功能',
|
trainingRemark: '站台详细信息功能',
|
||||||
trainingType: 'Stand',
|
trainingType: 'Stand',
|
||||||
productTypes: ['01', '02'],
|
productTypes: ['01', '02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查看站台信息】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【站台详细信息】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -292,12 +292,12 @@ export default {
|
|||||||
operateType: 'Section_Set_Limit_Speed',
|
operateType: 'Section_Set_Limit_Speed',
|
||||||
skinCode: '06',
|
skinCode: '06',
|
||||||
trainingName: '设置临时限速({8}{9})',
|
trainingName: '设置临时限速({8}{9})',
|
||||||
trainingRemark: '设置临时限速功能(限速值:自动)',
|
trainingRemark: '设置临时限速功能(限速值:不限速)',
|
||||||
trainingType: 'Section',
|
trainingType: 'Section',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
|
||||||
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值自动】', val: '0' },
|
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【不限速】', val: '0' },
|
||||||
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
|
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
|
||||||
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
|
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
|
||||||
@ -453,7 +453,7 @@ export default {
|
|||||||
trainingType: 'Switch',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【区段解封】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
|
||||||
{ deviceType: '03', orderNum: 2, operateCode: '1043', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '03', orderNum: 2, operateCode: '1043', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: '03', orderNum: 3, operateCode: '1046', tip: '鼠标左键选择({7})区段', val: '{17}' },
|
{ deviceType: '03', orderNum: 3, operateCode: '1046', tip: '鼠标左键选择({7})区段', val: '{17}' },
|
||||||
{ deviceType: '03', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '03', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确定】按钮' },
|
||||||
@ -484,7 +484,7 @@ export default {
|
|||||||
trainingType: 'Switch',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【区段解封】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
|
||||||
{ deviceType: '03', orderNum: 2, operateCode: '1063', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '03', orderNum: 2, operateCode: '1063', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: '03', orderNum: 3, operateCode: '1066', tip: '鼠标左键选择({7})区段', val: '{17}' },
|
{ deviceType: '03', orderNum: 3, operateCode: '1066', tip: '鼠标左键选择({7})区段', val: '{17}' },
|
||||||
{ deviceType: '03', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '03', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确定】按钮' },
|
||||||
|
@ -2,11 +2,11 @@ export function getBaseUrl() {
|
|||||||
let BASE_API;
|
let BASE_API;
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
// BASE_API = 'https://joylink.club/jlcloud';
|
// BASE_API = 'https://joylink.club/jlcloud';
|
||||||
// BASE_API = 'https://test.joylink.club/jlcloud';
|
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||||
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
|
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
|
||||||
BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
||||||
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
||||||
BASE_API = 'http://192.168.3.82:9000'; // 杜康
|
// BASE_API = 'http://192.168.3.82:9000'; // 杜康
|
||||||
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
||||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||||
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
||||||
|
@ -196,11 +196,11 @@ export default {
|
|||||||
name: this.$t('map.mapData'),
|
name: this.$t('map.mapData'),
|
||||||
item: [
|
item: [
|
||||||
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isStationCodeDisabled, options: this.centralizedStationList, isHidden: this.isStationCodeDisabled},
|
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isStationCodeDisabled, options: this.centralizedStationList, isHidden: this.isStationCodeDisabled},
|
||||||
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), isHidden: !this.hasAssociatedSection },
|
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), isHidden: !this.isSwitchSectionType },
|
||||||
{ prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
|
{ prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
|
||||||
{ prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
|
{ prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
|
||||||
{ prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow },
|
{ prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow },
|
||||||
{ prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true},
|
{ prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true, isHidden: this.hasAssociatedSection },
|
||||||
{ prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
|
{ prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
|
||||||
{ prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
|
{ prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
|
||||||
]
|
]
|
||||||
|
@ -18,6 +18,7 @@ import UpdateOperate from './draft.vue';
|
|||||||
import SetProject from './project';
|
import SetProject from './project';
|
||||||
import CopyMap from './copy';
|
import CopyMap from './copy';
|
||||||
import LocalMap from './localMap';
|
import LocalMap from './localMap';
|
||||||
|
import { superAdmin } from '@/router/index_APP_TARGET';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'PublishMap',
|
name: 'PublishMap',
|
||||||
@ -139,8 +140,8 @@ export default {
|
|||||||
],
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{ text: '地图排序', handler: this.mapSort },
|
{ text: '地图排序', handler: this.mapSort },
|
||||||
{ text: '导出', handler: this.localExport},
|
{ text: '导出', handler: this.localExport, show: () => { return this.$store.state.user.roles.indexOf(superAdmin) > 0; }},
|
||||||
{ text: '导入', handler: this.localImport, fileType: 'file'}
|
{ text: '导入', handler: this.localImport, fileType: 'file', show: () => { return this.$store.state.user.roles.indexOf(superAdmin) > 0; }}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -363,7 +364,7 @@ export default {
|
|||||||
this.$router.push({ path: `/publish/mapSort`});
|
this.$router.push({ path: `/publish/mapSort`});
|
||||||
},
|
},
|
||||||
localExport() {
|
localExport() {
|
||||||
this.$refs['localMap'].doShow();
|
this.$refs['localMap'].doShow();
|
||||||
},
|
},
|
||||||
localImport() {
|
localImport() {
|
||||||
const loading = this.$loading({
|
const loading = this.$loading({
|
||||||
@ -373,7 +374,7 @@ export default {
|
|||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const obj = this.$refs.files;
|
const obj = document.getElementById('queryFormFilesInput');
|
||||||
if (!obj.files) return;
|
if (!obj.files) return;
|
||||||
const f = obj.files[0];
|
const f = obj.files[0];
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
@ -384,7 +385,6 @@ export default {
|
|||||||
localImportMap(JSON.parse(data)).then(res => {
|
localImportMap(JSON.parse(data)).then(res => {
|
||||||
loading.close();
|
loading.close();
|
||||||
that.$message.success('导入成功!');
|
that.$message.success('导入成功!');
|
||||||
that.loadInitData();
|
|
||||||
loading.close();
|
loading.close();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
loading.close();
|
loading.close();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag title="导出地图" :visible.sync="dialogVisible" width="30%" center>
|
<el-dialog v-dialogDrag title="导出地图" :visible.sync="dialogVisible" width="20%" center>
|
||||||
<el-select v-model="selectMapList" multiple placeholder="请选择" style="text-align: center">
|
<el-select v-model="selectMapList" multiple placeholder="请选择地图" style="width: 60%; position: relative; left: 20%;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in publishMapList"
|
v-for="item in publishMapList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
Loading…
Reference in New Issue
Block a user