17 changed files with 340 additions and 89 deletions
@ -0,0 +1,81 @@ |
|||||||
|
<template> |
||||||
|
<EdfsDialog |
||||||
|
class="test-sheet-info-dlg" |
||||||
|
:title="title" |
||||||
|
:isShow="isShow" |
||||||
|
width="70%" |
||||||
|
:isShowFooter="false" |
||||||
|
@on-close="onClone" |
||||||
|
@on-save="onClone" |
||||||
|
> |
||||||
|
<div class="dlg-body"> |
||||||
|
<EdfsTable |
||||||
|
class="table" |
||||||
|
:data="info" |
||||||
|
:usePaging="false" |
||||||
|
:highlight-current-row="true" |
||||||
|
row-class-name="row" |
||||||
|
> |
||||||
|
<template v-for="(col, idx) in tableCol" :key="idx"> |
||||||
|
<!-- <el-table-column |
||||||
|
v-if="col.prop.endsWith('Time')" |
||||||
|
:label="col.label" |
||||||
|
:min-width="col.minWidth" |
||||||
|
> |
||||||
|
<template #default="scope"> |
||||||
|
{{ dayjs(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }} |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
|
||||||
|
<el-table-column |
||||||
|
v-else-if="col.prop === 'status'" |
||||||
|
:label="col.label" |
||||||
|
:min-width="col.minWidth" |
||||||
|
> |
||||||
|
<template #default="scope"> |
||||||
|
{{ testSheetStatus.find(item => item.value === scope.row.status)?.label }} |
||||||
|
</template> |
||||||
|
</el-table-column> --> |
||||||
|
<el-table-column |
||||||
|
:prop="col.prop" |
||||||
|
:label="col.label" |
||||||
|
:min-width="col.minWidth" |
||||||
|
/> |
||||||
|
</template> |
||||||
|
</EdfsTable> |
||||||
|
</div> |
||||||
|
</EdfsDialog> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script setup lang="ts"> |
||||||
|
import EdfsDialog from '@/components/dashboard/Edfs-dialog.vue' |
||||||
|
const props = defineProps<{ |
||||||
|
isShow: boolean |
||||||
|
info: any |
||||||
|
title: string |
||||||
|
}>() |
||||||
|
const emits = defineEmits(['on-close']) |
||||||
|
const title = computed(() => `${props.title}测试详情`) |
||||||
|
|
||||||
|
const tableCol = [ |
||||||
|
{ prop: 'content', label: '测试内容', minWidth: '12%' }, |
||||||
|
{ prop: 'actualResult', label: '实际结果', minWidth: '8%' }, |
||||||
|
{ prop: 'expectResult', label: '预期结果', minWidth: '8%' }, |
||||||
|
{ prop: 'remark', label: '备注', minWidth: '20%' }, |
||||||
|
] |
||||||
|
|
||||||
|
function onClone() { |
||||||
|
emits('on-close') |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="scss"> |
||||||
|
.test-sheet-info-dlg { |
||||||
|
.dlg-body { |
||||||
|
height: 700px; |
||||||
|
.table { |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -1,39 +1,38 @@ |
|||||||
import Emitter from "./eventBus"; |
import Emitter from './eventBus' |
||||||
|
|
||||||
export interface SocketEvent { |
export interface SocketEvent { |
||||||
type: string; |
type: string |
||||||
stationId: number; |
data?: any |
||||||
data?: any; |
time?: any |
||||||
time?: any; |
|
||||||
} |
} |
||||||
|
|
||||||
export interface SocketMsgListener { |
export interface SocketMsgListener { |
||||||
onCmdPost(type: string, stationId: number, data?: any, time?:any): void; |
onCmdPost(type: string, data?: any, time?: any): void |
||||||
} |
} |
||||||
|
|
||||||
let listeners: SocketMsgListener[] = []; |
let listeners: SocketMsgListener[] = [] |
||||||
|
|
||||||
export function addListener(listener: SocketMsgListener) { |
export function addListener(listener: SocketMsgListener) { |
||||||
if (listeners.length === 0) { |
if (listeners.length === 0) { |
||||||
Emitter.on("socketMsg", (event: SocketEvent) => { |
Emitter.on('socketMsg', (event: SocketEvent) => { |
||||||
if (!event) { |
if (!event) { |
||||||
return; |
return |
||||||
} |
} |
||||||
for (const listener of listeners) { |
for (const listener of listeners) { |
||||||
listener.onCmdPost(event.type, event.stationId, event.data, event.time); |
listener.onCmdPost(event.type, event.data, event.time) |
||||||
} |
} |
||||||
}); |
}) |
||||||
} |
} |
||||||
listeners.push(listener); |
listeners.push(listener) |
||||||
} |
} |
||||||
|
|
||||||
export function removeListener(listener: SocketMsgListener) { |
export function removeListener(listener: SocketMsgListener) { |
||||||
listeners = listeners.filter((item) => item !== listener); |
listeners = listeners.filter(item => item !== listener) |
||||||
if (listeners.length === 0) { |
if (listeners.length === 0) { |
||||||
Emitter.off("socketMsg"); |
Emitter.off('socketMsg') |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
export function publish(event: SocketEvent) { |
export function publish(event: SocketEvent) { |
||||||
Emitter.emit("socketMsg", event); |
Emitter.emit('socketMsg', event) |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue