会话调整

This commit is contained in:
fan 2020-09-11 15:52:15 +08:00
parent 5d7b1db6be
commit 2875444ed7
9 changed files with 379 additions and 17 deletions

View File

@ -2,7 +2,7 @@
<div id="app">
<router-view />
<deomon-topic ref="deomonTopic" />
<img v-show="loading" :src="loadingImg" style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 9999">
<img v-show="loading" :src="loadingImg" style="position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 2003">
</div>
</template>

View File

@ -127,6 +127,7 @@
<train-id-associated ref="trainIdAssociated" />
<occupancy-train-correlation ref="occupancyTrainCorrelation" />
<modify-train-number ref="modifyTrainNumber" />
<train-run-type ref="trainRunType" />
</div>
</template>
<script>
@ -176,6 +177,7 @@ import CancelRoute from './menuDialog/cancelRoute';
import TrainIdAssociated from './menuDialog/trainIdAssociated';
import OccupancyTrainCorrelation from './menuDialog/occupancyTrainCorrelation';
import ModifyTrainNumber from './menuDialog/modifyTrainNumber';
import TrainRunType from './menuDialog/trainRunType';
export default {
name: 'MenuBar',
@ -219,7 +221,8 @@ export default {
CancelRoute,
TrainIdAssociated,
OccupancyTrainCorrelation,
ModifyTrainNumber
ModifyTrainNumber,
TrainRunType
},
props: {
selected: {
@ -367,7 +370,7 @@ export default {
children: [
{
title: '运行类型',
click: this.undeveloped
click: this.setRunType
},
{
title: '记事薄',
@ -834,7 +837,7 @@ export default {
children: [
{
title: '运行类型',
click: this.undeveloped
click: this.setRunType
},
{
title: '记事薄',
@ -1875,7 +1878,30 @@ export default {
});
},
modifyTrainNumber() {
const operate = {
type: 'bar',
operation: ''
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.modifyTrainNumber.doShow(operate);
}
});
},
setRunType() {
const operate = {
type: 'bar',
operation: ''
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.trainRunType.doShow(operate);
}
});
}
}
};

View File

@ -8,14 +8,14 @@
<el-table-column prop="status" label="班次" />
</el-table>
</el-col>
<el-col :span="8" style="padding-left: 5px;">
<el-col :span="8" style="padding-left: 5px;color: #000;">
<div class="set-status-title" style="width: 80px;">列车描述号</div>
<div class="set-status-box">
<div>001-159::</div>
<div style="margin-top: 20px;">001-159::</div>
<div>计划列车</div>
<div>160-999::</div>
<div style="margin-top: 20px;">160-999::</div>
<div>临时目的地列车</div>
<el-input v-model="groupNumber" size="mini" />
<el-input v-model="groupNumber" size="mini" style="margin-top: 40px;" />
</div>
</el-col>
</el-row>

View File

@ -0,0 +1,167 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="900px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="6">
<el-table :data="trainList" height="300px">
<el-table-column prop="code" label="列车" />
<el-table-column prop="area" label="班次" />
<el-table-column prop="status" label="运行线" />
</el-table>
</el-col>
<el-col :span="18" style="padding-left: 5px;color: #000;">
<el-row>
<el-col :span="12">
<span>运行模式</span>
<el-input v-model="train.runMode" size="mini" style="width: 120px;" />
</el-col>
<el-col :span="12">
<span></span>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
export default {
name: 'ModifyTrainNumber',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
activeName: 'first',
operate: {},
allCheck: false,
slidingTime: 0,
data: [],
trainId: '',
groupNumber: '',
runTypeList: [
{label: '节能', value: 1},
{label: '中间的2', value: 2},
{label: '中间的1', value: 3},
{label: '正常', value: 4},
{label: '加速', value: 5}
],
train: {}
};
},
computed: {
...mapGetters('map', [
'trainList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '修改列车描述号';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
border: 1px solid #AFAFAF;
padding: 15px 5px 5px;
}
.set-status-title{
position: relative;
top: 15px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -0,0 +1,164 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="500px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="14">
<el-table :data="trainList" height="300px">
<el-table-column prop="code" label="列车" />
<el-table-column prop="area" label="模式" />
<el-table-column prop="status" label="运行类型" />
</el-table>
</el-col>
<el-col :span="10" style="padding-left: 5px;color: #000;">
<el-table :data="runTypeList" height="250px">
<el-table-column prop="label" label="运行类型" />
</el-table>
<div style="margin-top: 10px;">
<el-checkbox v-model="allCheck" style="display: inline-block;">所有列车(I)</el-checkbox>
<el-button style="display: inline-block;">复位(R)</el-button>
</div>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { mapGetters } from 'vuex';
export default {
name: 'ModifyTrainNumber',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
activeName: 'first',
operate: {},
allCheck: false,
slidingTime: 0,
data: [],
trainId: '',
groupNumber: '',
runTypeList: [
{label: '节能', value: 1},
{label: '中间的2', value: 2},
{label: '中间的1', value: 3},
{label: '正常', value: 4},
{label: '加速', value: 5}
]
};
},
computed: {
...mapGetters('map', [
'trainList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return '修改列车描述号';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
border: 1px solid #AFAFAF;
padding: 15px 5px 5px;
}
.set-status-title{
position: relative;
top: 15px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -2,10 +2,10 @@ export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
// 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.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://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康

View File

@ -126,7 +126,7 @@ export default {
@import "src/styles/mixin.scss";
.progressShade {
z-index: 9998;
z-index: 2002;
position: absolute;
top: 0px;
left: 0px;

View File

@ -197,7 +197,7 @@ export default {
conversitionId(val) {
if (val) {
this.conversitionMemberList = this.privateMemberList;
this.messageList = this.privateMessageList;
this.messageList = [...this.privateMessageList];
}
},
userRole(val) {
@ -606,7 +606,7 @@ export default {
this.commonMemberList = [...temDispatcherList, ...temStationSupervisorList, ...temMaintainerList, ...temDriverList, ...temDepotDispatcherList];
if (this.userRole === 'AUDIENCE' || this.commonConversation) {
this.conversitionMemberList = [];
this.messageList = this.commonMessageList;
this.messageList = [...this.commonMessageList];
this.conversitionMemberList = this.commonMemberList;
}
},
@ -615,18 +615,23 @@ export default {
if (this.conversitionStateMap[data.message.memberId]) {
this.conversitionStateMap[data.message.memberId].privateMessageList.push(data.message);
}
if (this.commonConversation) {
this.messageList.push(data.message);
} else if (!this.commonConversation && this.conversitionId === data.id) {
this.messageList.push(data.message);
}
},
goCommonConversation() {
!this.commonConversation && this.$refs.chatContent && this.$refs.chatContent.conversationChange();
this.commonConversation = true;
this.conversitionMemberList = this.commonMemberList;
this.messageList = this.commonMessageList;
this.messageList = [...this.commonMessageList];
},
cancelCommonConversation() {
this.commonConversation && this.$refs.chatContent && this.$refs.chatContent.conversationChange();
this.commonConversation = false;
this.conversitionMemberList = this.privateMemberList;
this.messageList = this.privateMessageList;
this.messageList = [...this.privateMessageList];
this.$nextTick(() => {
this.$refs.tree && this.$refs.tree.filter(this.queryMember);
});

View File

@ -2,7 +2,7 @@
<div class="chatcontentIn">
<div class="chatcontentInner">
<div v-for="(chatContent,index) in messageList" :key="index" class="chatContentInClass">
<div :class="chatContent.self?'rightUser':'leftUser'">
<div :class="chatContent.memberId == myMemberId?'rightUser':'leftUser'">
<div class="userHeader">
<div v-if="!chatContent.self" class="userName">{{ covertName(chatContent.memberId) }}</div>
<div :class="chatContent.memberId == myMemberId?'userChatTime textRight':'userChatTime'">{{ chatContent.time }}</div>