Compare commits

..

No commits in common. "dd6fd1ed80268fb1f15b82c83fe62c438757ded8" and "5c9f6c4a4382641984a5249509318fded35dcdeb" have entirely different histories.

7 changed files with 31 additions and 122 deletions

View File

@ -23,7 +23,6 @@ import { RunLineGraphicHitArea } from 'src/graphics/runLine/RunLineDrawAssistant
import { Dialog } from 'quasar'; import { Dialog } from 'quasar';
import SetDashLineDialog from '../../components/draw-app/dialogs/SetDashLineDialog.vue'; import SetDashLineDialog from '../../components/draw-app/dialogs/SetDashLineDialog.vue';
import SetGaryLineDialog from '../../components/draw-app/dialogs/SetGaryLineDialog.vue'; import SetGaryLineDialog from '../../components/draw-app/dialogs/SetGaryLineDialog.vue';
import { useLineNetStore } from 'src/stores/line-net-store';
export class RunLineData extends GraphicDataBase implements IRunLineData { export class RunLineData extends GraphicDataBase implements IRunLineData {
constructor(data?: graphicData.RunLine) { constructor(data?: graphicData.RunLine) {
@ -236,6 +235,7 @@ export class DrawRunLinePlugin extends GraphicInteractionPlugin<RunLine> {
}); });
}; };
setGrayLineConfig.handler = () => { setGrayLineConfig.handler = () => {
console.log(runLine.datas, '11111');
Dialog.create({ Dialog.create({
title: '设置灰线段', title: '设置灰线段',
message: '', message: '',
@ -280,22 +280,10 @@ export class RunLineOperateInteraction extends GraphicInteractionPlugin<RunLine>
g.cursor = 'pointer'; g.cursor = 'pointer';
g.lineBody.hitArea = new RunLineGraphicHitArea(g); g.lineBody.hitArea = new RunLineGraphicHitArea(g);
g.selectable = true; g.selectable = true;
g.on('_leftclick', this.leftClick, this);
} }
unbind(g: RunLine): void { unbind(g: RunLine): void {
g.selectable = false; g.selectable = false;
g.eventMode = 'none'; g.eventMode = 'none';
g.off('_leftclick', this.leftClick, this);
}
leftClick(e: FederatedMouseEvent) {
const target = e.target as DisplayObject;
const runLine = target.getGraphic() as RunLine;
const lineId = runLine.datas.lineId;
if (lineId) {
useLineNetStore().jumpLineCount++;
useLineNetStore().jumpLineId = lineId;
}
} }
} }

View File

@ -330,7 +330,7 @@ class codeGraph extends Container {
this.stopTime.visible = true; this.stopTime.visible = true;
this.stopTime.text = stateData.stopTime; this.stopTime.text = stateData.stopTime;
} }
if (useLineStore().faultStatistics) { if (stateData.bizWaitTimeSec && useLineStore().faultStatistics) {
const minutes = Math.floor(stateData.bizWaitTimeSec / 60); const minutes = Math.floor(stateData.bizWaitTimeSec / 60);
const seconds = stateData.bizWaitTimeSec % 60; const seconds = stateData.bizWaitTimeSec % 60;
let minutesString = '' + minutes; let minutesString = '' + minutes;
@ -343,9 +343,7 @@ class codeGraph extends Container {
} }
this.waitSec.visible = true; this.waitSec.visible = true;
this.waitSec.text = `${minutesString}:${secondsString}`; this.waitSec.text = `乘客已经等待了${minutesString}:${secondsString}`;
} else {
this.waitSec.visible = false;
} }
} }
} }

View File

@ -51,26 +51,13 @@
label="返回" label="返回"
@click="backConfirm" @click="backConfirm"
/> />
<q-btn <q-toggle
round v-model="lineStore.faultStatistics"
dense checked-icon="check"
flat color="red"
:color="lineStore.faultStatistics ? 'white' : 'red'" label="故障信息统计"
:icon="lineStore.faultStatistics ? 'grid_on' : 'grid_off'" unchecked-icon="clear"
@click=" />
() => {
lineStore.faultStatistics = !lineStore.faultStatistics;
}
"
>
<q-tooltip style="font-size: 14px">
{{
lineStore.faultStatistics
? '关闭故障信息统计'
: '开启故障信息统计'
}}
</q-tooltip>
</q-btn>
<q-btn <q-btn
round round
dense dense
@ -94,9 +81,6 @@
@click="$q.fullscreen.toggle()" @click="$q.fullscreen.toggle()"
v-if="$q.screen.gt.sm" v-if="$q.screen.gt.sm"
> >
<q-tooltip style="font-size: 14px">
{{ $q.fullscreen.isActive ? '关闭全屏' : '开启全屏' }}
</q-tooltip>
</q-btn> </q-btn>
<q-btn <q-btn
flat flat
@ -105,9 +89,7 @@
icon="connected_tv" icon="connected_tv"
:color="lineNetStore.connectButtonColor" :color="lineNetStore.connectButtonColor"
@click="openConnectInfoDialog" @click="openConnectInfoDialog"
> />
<q-tooltip style="font-size: 14px">与同方连接状态</q-tooltip>
</q-btn>
<q-btn-dropdown <q-btn-dropdown
flat flat
stretch stretch

View File

@ -5,73 +5,19 @@
</q-page-container> </q-page-container>
<div <div
v-if="faultInfo" v-if="faultInfo"
style=" style="position: fixed; right: 0; top: 10%; background: white"
position: absolute;
right: 0;
top: 10px;
background: white;
width: 400px;
"
> >
<div style="width: 100%; text-align: right" class="bg-primary q-pa-ms"> <div style="width: 100%; text-align: right" class="bg-primary q-pa-ms">
<q-icon <q-icon
name="add_circle" name="close"
size="md" size="xs"
v-if="faultInfoMin"
style="cursor: pointer"
@click="() => (faultInfoMin = false)"
/>
<q-icon
name="remove_circle"
size="md"
v-if="!faultInfoMin"
style="cursor: pointer"
@click="() => (faultInfoMin = true)"
/>
<q-icon
name="cancel"
size="md"
style="cursor: pointer" style="cursor: pointer"
@click="() => (faultInfo = false)" @click="() => (faultInfo = false)"
/> />
</div> </div>
<div <div class="q-pa-ms column" style="background: white; max-width: 400px">
v-if="!faultInfoMin"
class="q-pa-ms"
style="
background: white;
max-width: 400px;
height: 268px;
overflow-y: scroll;
"
>
<template v-for="(item, index) in timeInfoLabel" :key="index"> <template v-for="(item, index) in timeInfoLabel" :key="index">
<div <q-chip
class="row justify-between q-ma-sm bg-blue text-white"
style="border-radius: 5px; padding: 5px"
>
<div
style="
max-width: 250px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
"
>
{{ item.split('--')[0] }}
<q-tooltip>{{ item.split('--')[0] }}</q-tooltip>
</div>
<div>
<span>{{ item.split('--')[1] }}</span>
<q-icon
name="cancel"
size="xs"
style="cursor: pointer; margin-left: 10px"
@click="handleRemoveInfo(index)"
/>
</div>
</div>
<!-- <q-chip
removable removable
@remove="handleRemoveInfo(index)" @remove="handleRemoveInfo(index)"
color="primary" color="primary"
@ -80,7 +26,7 @@
:label="item" :label="item"
> >
<q-tooltip v-if="item.length > 34"> {{ item }} </q-tooltip> <q-tooltip v-if="item.length > 34"> {{ item }} </q-tooltip>
</q-chip> --> </q-chip>
</template> </template>
</div> </div>
</div> </div>
@ -93,7 +39,6 @@ import { useLineStore } from 'src/stores/line-store';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { AlarmInfo, useLineNetStore } from 'src/stores/line-net-store'; import { AlarmInfo, useLineNetStore } from 'src/stores/line-net-store';
import { showAlertTypeData } from 'src/components/alarm/alarmInfoEnum'; import { showAlertTypeData } from 'src/components/alarm/alarmInfoEnum';
import { Platform } from 'src/graphics/platform/Platform';
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -106,7 +51,6 @@ const route = useRoute();
const lineStore = useLineStore(); const lineStore = useLineStore();
const lineNetStore = useLineNetStore(); const lineNetStore = useLineNetStore();
const faultInfo = ref(false); const faultInfo = ref(false);
const faultInfoMin = ref(false);
const alarmInfoList: AlarmInfo[] = reactive([]); const alarmInfoList: AlarmInfo[] = reactive([]);
let timeInterval = null; let timeInterval = null;
let timeInfoLabel: string[] = reactive([]); let timeInfoLabel: string[] = reactive([]);
@ -180,18 +124,6 @@ watch(
} }
); );
watch(
() => lineStore.faultStatistics,
() => {
const platfroms = lineStore
.getLineApp()
.queryStore.queryByType<Platform>(Platform.Type);
platfroms.forEach((platfrom) => {
platfrom.changeState();
});
}
);
const lineId = Number(route.params.lineId); const lineId = Number(route.params.lineId);
const lineApp = lineStore.initLineApp(lineId); const lineApp = lineStore.initLineApp(lineId);

View File

@ -9,6 +9,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, onUnmounted, watch } from 'vue'; import { onMounted, onUnmounted, watch } from 'vue';
import { useLineNetStore } from 'src/stores/line-net-store'; import { useLineNetStore } from 'src/stores/line-net-store';
import { RunLine } from 'src/graphics/runLine/RunLine';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
const props = withDefaults( const props = withDefaults(
@ -34,10 +35,13 @@ watch(
} }
); );
watch( watch(
() => lineNetStore.jumpLineCount, () => lineNetStore.selectedGraphic,
(val) => { (val) => {
if (val) { if (val && lineNetStore.selectedGraphicType == RunLine.Type) {
router.replace(`/line/monitor/${lineNetStore.jumpLineId}`); const lineId = (val as RunLine)?.datas.lineId;
if (lineId) {
router.replace(`/line/monitor/${lineId}`);
}
} }
} }
); );

View File

@ -151,6 +151,12 @@ const columnDefs: QTableColumn[] = [
field: 'registerTime', field: 'registerTime',
align: 'center', align: 'center',
}, },
{
name: 'mobile',
label: '手机号',
field: 'mobile',
align: 'center',
},
]; ];
const tableRef = ref(); const tableRef = ref();
@ -231,6 +237,7 @@ function getAllRole() {
function edieUserData(row: User) { function edieUserData(row: User) {
userInfo.id = row.id; userInfo.id = row.id;
userInfo.name = row.name; userInfo.name = row.name;
userInfo.mobile = row.mobile;
userInfo.registerTime = row.registerTime; userInfo.registerTime = row.registerTime;
if (row?.roleList) { if (row?.roleList) {
userInfo.roleList = row.roleList; userInfo.roleList = row.roleList;

View File

@ -38,8 +38,6 @@ export const useLineNetStore = defineStore('lineNet', {
closeAllAlarmInfoDialog: false, closeAllAlarmInfoDialog: false,
connectButtonColor: 'green', connectButtonColor: 'green',
connectInfo: null as state.WarnLineMessage | null, connectInfo: null as state.WarnLineMessage | null,
jumpLineCount: 0,
jumpLineId: '',
}), }),
getters: { getters: {
untreatedNum: (state) => { untreatedNum: (state) => {