Merge branch 'test_dispaly' of https://git.code.tencent.com/lian-cbtc/jl-client into test_dispaly1
This commit is contained in:
commit
b98efabc7f
@ -5,7 +5,7 @@
|
|||||||
:title="title"
|
:title="title"
|
||||||
:visible.sync="show"
|
:visible.sync="show"
|
||||||
width="650px"
|
width="650px"
|
||||||
:before-close="doClose"
|
:before-close="() => show=false"
|
||||||
:show-close="true"
|
:show-close="true"
|
||||||
:z-index="2000"
|
:z-index="2000"
|
||||||
:modal="false"
|
:modal="false"
|
||||||
@ -43,14 +43,14 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-button style="width: 125px;margin-left: 10px;" @click="applyAll">全部申请</el-button>
|
<el-button :id="getDomId('applyAll')" style="width: 125px;margin-left: 10px;" @click="applyAll">全部申请</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" @click="cancelApplyAll">取消全部申请</el-button>
|
<el-button :id="getDomId('cancelApplyAll')" style="width: 125px;margin-top: 10px;" @click="cancelApplyAll">取消全部申请</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" @click="releaseAll">全部释放</el-button>
|
<el-button :id="getDomId('releaseAll')" style="width: 125px;margin-top: 10px;" @click="releaseAll">全部释放</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" @click="cancelReleaseAll">取消全部释放</el-button>
|
<el-button :id="getDomId('cancelReleaseAll')" style="width: 125px;margin-top: 10px;" @click="cancelReleaseAll">取消全部释放</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" :disabled="true" @click="distributionAll">全部强制分配</el-button>
|
<el-button :id="getDomId('distributionAll')" style="width: 125px;margin-top: 10px;" :disabled="true" @click="distributionAll">全部强制分配</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" :disabled="true" @click="cancelDistributionAll">取消全部强制分配</el-button>
|
<el-button :id="getDomId('cancelDistributionAll')" style="width: 125px;margin-top: 10px;" :disabled="true" @click="cancelDistributionAll">取消全部强制分配</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" @click="commit">应用</el-button>
|
<el-button :id="commitDomId" style="width: 125px;margin-top: 10px;" @click="commit">应用</el-button>
|
||||||
<el-button style="width: 125px;margin-top: 10px;" @click="doClose">退出</el-button>
|
<el-button :id="getDomId('doClose')" style="width: 125px;margin-top: 10px;" @click="doClose">退出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||||
@ -87,7 +87,10 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
...mapGetters('map', [
|
...mapGetters('map', [
|
||||||
'stationList'
|
'stationList'
|
||||||
])
|
]),
|
||||||
|
commitDomId() {
|
||||||
|
return this.show ? OperationEvent.Station.areaSelection.confirm.domId : '';
|
||||||
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.map.mapStateLoadedCount': function () {
|
'$store.state.map.mapStateLoadedCount': function () {
|
||||||
@ -107,6 +110,12 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getDomId(key) {
|
||||||
|
return this.show ? OperationEvent.Command.commandNingBo1[key].domId : '';
|
||||||
|
},
|
||||||
|
getOperation(key) {
|
||||||
|
return OperationEvent.Command.commandNingBo1[key] ? OperationEvent.Command.commandNingBo1[key].operation : '';
|
||||||
|
},
|
||||||
doShow() {
|
doShow() {
|
||||||
this.tableData = [];
|
this.tableData = [];
|
||||||
this.$store.state.training.simulationUserList.forEach(item => {
|
this.$store.state.training.simulationUserList.forEach(item => {
|
||||||
@ -138,7 +147,14 @@ export default {
|
|||||||
this.show = true;
|
this.show = true;
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('doClose')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.show = false;
|
this.show = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getControlStatus(code) {
|
getControlStatus(code) {
|
||||||
const newStation = this.$store.getters['map/getDeviceByCode'](code);
|
const newStation = this.$store.getters['map/getDeviceByCode'](code);
|
||||||
@ -167,6 +183,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
applyAll() {
|
applyAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('applyAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
const centralizedStationCode = this.stationCentralizedMap[item.code];
|
const centralizedStationCode = this.stationCentralizedMap[item.code];
|
||||||
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
|
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
|
||||||
@ -177,13 +198,27 @@ export default {
|
|||||||
item.apply = true;
|
item.apply = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
cancelApplyAll() {
|
cancelApplyAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('cancelApplyAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
item.apply = false;
|
item.apply = false;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
releaseAll() {
|
releaseAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('releaseAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
const centralizedStationCode = this.stationCentralizedMap[item.code];
|
const centralizedStationCode = this.stationCentralizedMap[item.code];
|
||||||
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
|
const centralizedStation = this.$store.getters['map/getDeviceByCode'](centralizedStationCode);
|
||||||
@ -194,23 +229,46 @@ export default {
|
|||||||
item.release = true;
|
item.release = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
cancelReleaseAll() {
|
cancelReleaseAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('cancelReleaseAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
item.release = false;
|
item.release = false;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
distributionAll() {
|
distributionAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('distributionAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
if (item.controller !== this.memberId) {
|
if (item.controller !== this.memberId) {
|
||||||
item.distribution = true;
|
item.distribution = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
cancelDistributionAll() {
|
cancelDistributionAll() {
|
||||||
|
const operate = {
|
||||||
|
operation: this.getOperation('cancelDistributionAll')
|
||||||
|
};
|
||||||
|
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
this.tableData.forEach(item => {
|
this.tableData.forEach(item => {
|
||||||
item.distribution = false;
|
item.distribution = false;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
const paramsApplyStation = [];
|
const paramsApplyStation = [];
|
||||||
|
@ -219,7 +219,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5" :offset="1" v-if="sure">
|
<el-col v-if="sure" :span="5" :offset="1">
|
||||||
<fieldset style="position: absolute;top: 40%;">
|
<fieldset style="position: absolute;top: 40%;">
|
||||||
<legend class="card_title">命令</legend>
|
<legend class="card_title">命令</legend>
|
||||||
<el-radio-group v-model="command">
|
<el-radio-group v-model="command">
|
||||||
@ -73,13 +73,13 @@ export default {
|
|||||||
initCacheMap: {
|
initCacheMap: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initInfo: {
|
initInfo: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateDone: {
|
updateDone: {
|
||||||
@ -103,7 +103,7 @@ export default {
|
|||||||
sure: false,
|
sure: false,
|
||||||
currentSelect: null,
|
currentSelect: null,
|
||||||
noInit: true,
|
noInit: true,
|
||||||
changeIgnore: false,
|
changeIgnore: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -111,10 +111,10 @@ export default {
|
|||||||
'sectionList'
|
'sectionList'
|
||||||
]),
|
]),
|
||||||
cmdType() {
|
cmdType() {
|
||||||
return ''
|
return '';
|
||||||
},
|
},
|
||||||
initSelect() {
|
initSelect() {
|
||||||
return this.initInfo.initSelect||{};
|
return this.initInfo.initSelect || {};
|
||||||
},
|
},
|
||||||
disabled() {
|
disabled() {
|
||||||
return !this.currentSelect || this.currentSelect.blockade || this.noInit;
|
return !this.currentSelect || this.currentSelect.blockade || this.noInit;
|
||||||
@ -123,7 +123,7 @@ export default {
|
|||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
tempList() {
|
tempList() {
|
||||||
return this.sectionList.filter(el => ['01', '04'].includes(el.type) )
|
return this.sectionList.filter(el => ['01', '04'].includes(el.type) );
|
||||||
},
|
},
|
||||||
domIdChoose() {
|
domIdChoose() {
|
||||||
return this.dialogShow ? OperationEvent.Command.common.choose.domId : '';
|
return this.dialogShow ? OperationEvent.Command.common.choose.domId : '';
|
||||||
@ -146,24 +146,24 @@ export default {
|
|||||||
},
|
},
|
||||||
updateDone() {
|
updateDone() {
|
||||||
if (this.currentSelect) {
|
if (this.currentSelect) {
|
||||||
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code]||{}).done != 'one';
|
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code] || {}).done != 'one';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getCacheMap() {
|
getCacheMap() {
|
||||||
return this.initCacheMap[this.cmdType.value]||{};
|
return this.initCacheMap[this.cmdType.value] || {};
|
||||||
},
|
},
|
||||||
doShow(operate, sure) {
|
doShow(operate, sure) {
|
||||||
this.operate = operate;
|
this.operate = operate;
|
||||||
this.sure = sure;
|
this.sure = sure;
|
||||||
if (!sure) this.command = true;
|
if (!sure) this.command = true;
|
||||||
this.title = `${sure? '确认/取消过岔锁闭取消': '初始化过岔锁闭取消'}`;
|
this.title = `${sure ? '确认/取消过岔锁闭取消' : '初始化过岔锁闭取消'}`;
|
||||||
this.currentSelect = this.$store.getters['map/getDeviceByCode'](this.initSelect.code);
|
this.currentSelect = this.$store.getters['map/getDeviceByCode'](this.initSelect.code);
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
this.changeIgnore = sure
|
this.changeIgnore = sure;
|
||||||
this.$refs.table.setCurrentRow(sure? this.tempList.find(el => el.code == this.initSelect.code): null);
|
this.$refs.table.setCurrentRow(sure ? this.tempList.find(el => el.code == this.initSelect.code) : null);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -174,16 +174,16 @@ export default {
|
|||||||
this.sure && this.$refs.table.setCurrentRow();
|
this.sure && this.$refs.table.setCurrentRow();
|
||||||
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
||||||
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
||||||
)
|
);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
commit(isClose = true) {
|
commit(isClose = true) {
|
||||||
if (this.currentSelect &&
|
if (this.currentSelect &&
|
||||||
this.currentSelect.code == this.initSelect.code) {
|
this.currentSelect.code == this.initSelect.code) {
|
||||||
const cacheMap= this.getCacheMap();
|
const cacheMap = this.getCacheMap();
|
||||||
const isOK = this.command&&(!this.sure || this.sure&&cacheMap[this.currentSelect.code])
|
const isOK = this.command && (!this.sure || this.sure && cacheMap[this.currentSelect.code]);
|
||||||
const operate = {
|
const operate = {
|
||||||
cmdType: this.sure&&isOK? this.cmdType: null,
|
cmdType: this.sure && isOK ? this.cmdType : null,
|
||||||
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
||||||
over: this.sure,
|
over: this.sure,
|
||||||
param: {sectionCode: this.currentSelect.code}
|
param: {sectionCode: this.currentSelect.code}
|
||||||
@ -193,11 +193,11 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (isOK) {
|
if (isOK) {
|
||||||
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure? 'two': 'one'});
|
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure ? 'two' : 'one'});
|
||||||
} else {
|
} else {
|
||||||
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
||||||
}
|
}
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
this.$store.dispatch('map/flushMapRef');
|
this.$store.dispatch('map/flushMapRef');
|
||||||
isClose && this.doClose();
|
isClose && this.doClose();
|
||||||
}
|
}
|
||||||
@ -212,17 +212,17 @@ export default {
|
|||||||
handleChangeLine(val) {
|
handleChangeLine(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
|
||||||
this.changeIgnore = false;
|
this.changeIgnore = false;
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
@ -239,7 +239,7 @@ export default {
|
|||||||
if (this.sure) {
|
if (this.sure) {
|
||||||
return cache.done == 'two' ? '确认过岔锁闭取消完成' : '等待确认/取消';
|
return cache.done == 'two' ? '确认过岔锁闭取消完成' : '等待确认/取消';
|
||||||
} else {
|
} else {
|
||||||
return cache.done == 'one' ? '已初始化' : ''
|
return cache.done == 'one' ? '已初始化' : '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
@ -251,10 +251,10 @@ export default {
|
|||||||
return '后备';
|
return '后备';
|
||||||
},
|
},
|
||||||
getSectionCanStatus(code) {
|
getSectionCanStatus(code) {
|
||||||
return '否'
|
return '否';
|
||||||
},
|
},
|
||||||
getSectionHasStatus(code) {
|
getSectionHasStatus(code) {
|
||||||
return '否'
|
return '否';
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
const operate = {
|
const operate = {
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5" :offset="1" v-if="sure">
|
<el-col v-if="sure" :span="5" :offset="1">
|
||||||
<fieldset style="position: absolute;top: 40%;">
|
<fieldset style="position: absolute;top: 40%;">
|
||||||
<legend class="card_title">命令</legend>
|
<legend class="card_title">命令</legend>
|
||||||
<el-radio-group v-model="command">
|
<el-radio-group v-model="command">
|
||||||
@ -68,13 +68,13 @@ export default {
|
|||||||
initCacheMap: {
|
initCacheMap: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initInfo: {
|
initInfo: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateDone: {
|
updateDone: {
|
||||||
@ -106,10 +106,10 @@ export default {
|
|||||||
'sectionList'
|
'sectionList'
|
||||||
]),
|
]),
|
||||||
cmdType() {
|
cmdType() {
|
||||||
return ''
|
return '';
|
||||||
},
|
},
|
||||||
initSelect() {
|
initSelect() {
|
||||||
return this.initInfo.initSelect||{};
|
return this.initInfo.initSelect || {};
|
||||||
},
|
},
|
||||||
disabled() {
|
disabled() {
|
||||||
return !this.currentSelect || this.currentSelect.blockade || this.noInit;
|
return !this.currentSelect || this.currentSelect.blockade || this.noInit;
|
||||||
@ -118,7 +118,7 @@ export default {
|
|||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
tempList() {
|
tempList() {
|
||||||
return this.sectionList.filter(el => ['01', '04'].includes(el.type) )
|
return this.sectionList.filter(el => ['01', '04'].includes(el.type) );
|
||||||
},
|
},
|
||||||
domIdChoose() {
|
domIdChoose() {
|
||||||
return this.dialogShow ? OperationEvent.Command.common.choose.domId : '';
|
return this.dialogShow ? OperationEvent.Command.common.choose.domId : '';
|
||||||
@ -141,24 +141,24 @@ export default {
|
|||||||
},
|
},
|
||||||
updateDone() {
|
updateDone() {
|
||||||
if (this.currentSelect) {
|
if (this.currentSelect) {
|
||||||
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code]||{}).done != 'one';
|
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code] || {}).done != 'one';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getCacheMap() {
|
getCacheMap() {
|
||||||
return this.initCacheMap[this.cmdType.value]||{};
|
return this.initCacheMap[this.cmdType.value] || {};
|
||||||
},
|
},
|
||||||
doShow(operate, sure) {
|
doShow(operate, sure) {
|
||||||
this.operate = operate;
|
this.operate = operate;
|
||||||
this.sure = sure;
|
this.sure = sure;
|
||||||
if (!sure) this.command = true;
|
if (!sure) this.command = true;
|
||||||
this.title = `${sure? '确认/取消转换锁闭取消': '初始化转换锁闭取消'}`;
|
this.title = `${sure ? '确认/取消转换锁闭取消' : '初始化转换锁闭取消'}`;
|
||||||
this.currentSelect = this.$store.getters['map/getDeviceByCode'](this.initSelect.code);
|
this.currentSelect = this.$store.getters['map/getDeviceByCode'](this.initSelect.code);
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
this.changeIgnore = sure;
|
this.changeIgnore = sure;
|
||||||
this.$refs.table.setCurrentRow(sure? this.tempList.find(el => el.code == this.initSelect.code): null);
|
this.$refs.table.setCurrentRow(sure ? this.tempList.find(el => el.code == this.initSelect.code) : null);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -169,16 +169,16 @@ export default {
|
|||||||
this.sure && this.$refs.table.setCurrentRow();
|
this.sure && this.$refs.table.setCurrentRow();
|
||||||
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
||||||
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
||||||
)
|
);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
commit(isClose = true) {
|
commit(isClose = true) {
|
||||||
if (this.currentSelect &&
|
if (this.currentSelect &&
|
||||||
this.currentSelect.code == this.initSelect.code) {
|
this.currentSelect.code == this.initSelect.code) {
|
||||||
const cacheMap= this.getCacheMap();
|
const cacheMap = this.getCacheMap();
|
||||||
const isOK = this.command&&(!this.sure || this.sure&&cacheMap[this.currentSelect.code])
|
const isOK = this.command && (!this.sure || this.sure && cacheMap[this.currentSelect.code]);
|
||||||
const operate = {
|
const operate = {
|
||||||
cmdType: this.sure&&isOK? this.cmdType: null,
|
cmdType: this.sure && isOK ? this.cmdType : null,
|
||||||
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
||||||
over: this.sure,
|
over: this.sure,
|
||||||
param: {sectionCode: this.currentSelect.code}
|
param: {sectionCode: this.currentSelect.code}
|
||||||
@ -188,11 +188,11 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (isOK) {
|
if (isOK) {
|
||||||
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure? 'two': 'one'});
|
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure ? 'two' : 'one'});
|
||||||
} else {
|
} else {
|
||||||
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
||||||
}
|
}
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
this.$store.dispatch('map/flushMapRef');
|
this.$store.dispatch('map/flushMapRef');
|
||||||
isClose && this.doClose();
|
isClose && this.doClose();
|
||||||
}
|
}
|
||||||
@ -207,17 +207,17 @@ export default {
|
|||||||
handleChangeLine(val) {
|
handleChangeLine(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
|
||||||
this.changeIgnore = false;
|
this.changeIgnore = false;
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
@ -234,7 +234,7 @@ export default {
|
|||||||
if (this.sure) {
|
if (this.sure) {
|
||||||
return cache.done == 'two' ? '确认转换锁闭取消完成' : '等待确认/取消';
|
return cache.done == 'two' ? '确认转换锁闭取消完成' : '等待确认/取消';
|
||||||
} else {
|
} else {
|
||||||
return cache.done == 'one' ? '已初始化' : ''
|
return cache.done == 'one' ? '已初始化' : '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
|
@ -171,7 +171,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: `${val.code}`,
|
// code: `${val.code}`,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code,
|
val: val.code,
|
||||||
param: {
|
param: {
|
||||||
|
@ -278,7 +278,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -238,7 +238,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -237,7 +237,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -222,7 +222,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -227,7 +227,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<el-table-column v-if="!isCbtc" prop="status" label="后备模式进程" />
|
<el-table-column v-if="!isCbtc" prop="status" label="后备模式进程" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5" :offset="1" v-if="sure">
|
<el-col v-if="sure" :span="5" :offset="1">
|
||||||
<div class="set-status-title">命令</div>
|
<div class="set-status-title">命令</div>
|
||||||
<div class="set-status-box">
|
<div class="set-status-box">
|
||||||
<el-radio v-model="command" :label="true">确认</el-radio>
|
<el-radio v-model="command" :label="true">确认</el-radio>
|
||||||
@ -52,17 +52,20 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
|||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
initCacheMap: {
|
initCacheMap: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
initInfo: {
|
initInfo: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateDone: {
|
updateDone: {
|
||||||
@ -70,9 +73,6 @@ export default {
|
|||||||
default: 0
|
default: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
|
||||||
NoticeInfo
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '',
|
title: '',
|
||||||
@ -99,10 +99,10 @@ export default {
|
|||||||
return this.signalList;
|
return this.signalList;
|
||||||
},
|
},
|
||||||
initSelect() {
|
initSelect() {
|
||||||
return this.initInfo.initSelect||{};
|
return this.initInfo.initSelect || {};
|
||||||
},
|
},
|
||||||
isCbtc() {
|
isCbtc() {
|
||||||
return true //this.operate.operation.includes(OperationEvent.Command.mBar.cbtcMode.operation);
|
return true; // this.operate.operation.includes(OperationEvent.Command.mBar.cbtcMode.operation);
|
||||||
},
|
},
|
||||||
cmdType() {
|
cmdType() {
|
||||||
return this.isCbtc ? CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING : CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING;
|
return this.isCbtc ? CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING : CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING;
|
||||||
@ -131,13 +131,13 @@ export default {
|
|||||||
},
|
},
|
||||||
updateDone() {
|
updateDone() {
|
||||||
if (this.currentSelect) {
|
if (this.currentSelect) {
|
||||||
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code]||{}).done != 'one';
|
this.noInit = this.sure && (this.getCacheMap()[this.currentSelect.code] || {}).done != 'one';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getCacheMap() {
|
getCacheMap() {
|
||||||
return this.initCacheMap[this.cmdType.value]||{};
|
return this.initCacheMap[this.cmdType.value] || {};
|
||||||
},
|
},
|
||||||
doShow(operate, sure) {
|
doShow(operate, sure) {
|
||||||
this.operate = operate;
|
this.operate = operate;
|
||||||
@ -154,7 +154,7 @@ export default {
|
|||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
this.changeIgnore = sure;
|
this.changeIgnore = sure;
|
||||||
this.$refs.table.setCurrentRow(sure? this.tempList.find(el => el.code == this.initSelect.code): null);
|
this.$refs.table.setCurrentRow(sure ? this.tempList.find(el => el.code == this.initSelect.code) : null);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -165,17 +165,17 @@ export default {
|
|||||||
this.sure && this.$refs.table.setCurrentRow();
|
this.sure && this.$refs.table.setCurrentRow();
|
||||||
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
this.sure && this.$root.$emit('iniCacheMap', this.cmdType.value,
|
||||||
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
Object.fromEntries(Object.entries(this.getCacheMap()).filter(el => el[1].done == 'done'))
|
||||||
)
|
);
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
this.currentSelect = this.$store.getters['map/getDeviceByCode'](val.code);
|
||||||
this.$emit('updateDone')
|
this.$emit('updateDone');
|
||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
@ -193,10 +193,10 @@ export default {
|
|||||||
commit(isClose = false) {
|
commit(isClose = false) {
|
||||||
if (this.currentSelect &&
|
if (this.currentSelect &&
|
||||||
this.currentSelect.code == this.initSelect.code) {
|
this.currentSelect.code == this.initSelect.code) {
|
||||||
const cacheMap= this.getCacheMap();
|
const cacheMap = this.getCacheMap();
|
||||||
const isOK = this.command&&(!this.sure || this.sure&&cacheMap[this.currentSelect.code])
|
const isOK = this.command && (!this.sure || this.sure && cacheMap[this.currentSelect.code]);
|
||||||
const step = {
|
const step = {
|
||||||
cmdType: this.sure&&isOK? this.cmdType: null,
|
cmdType: this.sure && isOK ? this.cmdType : null,
|
||||||
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
operation: isClose ? OperationEvent.Command.common.confirm.operation : OperationEvent.Command.common.apply.operation,
|
||||||
over: this.sure,
|
over: this.sure,
|
||||||
param: { signalCode: this.currentSelect.code }
|
param: { signalCode: this.currentSelect.code }
|
||||||
@ -206,7 +206,7 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (isOK) {
|
if (isOK) {
|
||||||
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure? 'two': 'one'});
|
this.$root.$emit('appendCache', this.cmdType.value, this.currentSelect.code, { done: this.sure ? 'two' : 'one'});
|
||||||
} else {
|
} else {
|
||||||
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
this.$root.$emit('removeCache', this.cmdType.value, this.currentSelect.code);
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -176,7 +176,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -193,7 +193,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -204,7 +204,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -214,7 +214,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -155,7 +155,7 @@ export default {
|
|||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
if (!val) { return; }
|
if (!val) { return; }
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -240,7 +240,7 @@ export default {
|
|||||||
if (this.changeIgnore) { return; }
|
if (this.changeIgnore) { return; }
|
||||||
|
|
||||||
const step = {
|
const step = {
|
||||||
code: val.code,
|
// code: val.code,
|
||||||
operation: OperationEvent.Command.common.choose.operation,
|
operation: OperationEvent.Command.common.choose.operation,
|
||||||
val: val.code
|
val: val.code
|
||||||
};
|
};
|
||||||
|
@ -674,6 +674,54 @@ export const OperationEvent = {
|
|||||||
operation: '00b',
|
operation: '00b',
|
||||||
domId: ''
|
domId: ''
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 宁波一
|
||||||
|
commandNingBo1: {
|
||||||
|
// 区域选择
|
||||||
|
areaSelection: {
|
||||||
|
operation: '00c',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection'
|
||||||
|
},
|
||||||
|
// 全部申请
|
||||||
|
applyAll: {
|
||||||
|
operation: '00c1',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-applyAll'
|
||||||
|
},
|
||||||
|
// 取消全部申请
|
||||||
|
cancelApplyAll: {
|
||||||
|
operation: '00c2',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-cancelApplyAll'
|
||||||
|
},
|
||||||
|
// 全部释放
|
||||||
|
releaseAll: {
|
||||||
|
operation: '00c3',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-releaseAll'
|
||||||
|
},
|
||||||
|
// 取消全部释放
|
||||||
|
cancelReleaseAll: {
|
||||||
|
operation: '00c4',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-cancelReleaseAll'
|
||||||
|
},
|
||||||
|
// 全部强制分配
|
||||||
|
distributionAll: {
|
||||||
|
operation: '00c5',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-distributionAll'
|
||||||
|
},
|
||||||
|
// 取消全部强制分配
|
||||||
|
cancelDistributionAll: {
|
||||||
|
operation: '00c6',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-cancelDistributionAll'
|
||||||
|
},
|
||||||
|
// 应用
|
||||||
|
commit: {
|
||||||
|
operation: '00c7',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-commit'
|
||||||
|
},
|
||||||
|
// 退出
|
||||||
|
doClose: {
|
||||||
|
operation: '00c8',
|
||||||
|
domId: '_Tips-ningBo1-areaSelection-doClose'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 站台概要表
|
// 站台概要表
|
||||||
@ -2966,7 +3014,7 @@ export const OperationEvent = {
|
|||||||
// 区域选择 申请控制权
|
// 区域选择 申请控制权
|
||||||
areaSelection: {
|
areaSelection: {
|
||||||
menu: {
|
menu: {
|
||||||
operation: '616',
|
c: '616',
|
||||||
domId: '_Tips-Station-areaSelection-Menu'
|
domId: '_Tips-Station-areaSelection-Menu'
|
||||||
},
|
},
|
||||||
mbar: {
|
mbar: {
|
||||||
|
Loading…
Reference in New Issue
Block a user