Compare commits
3 Commits
2025-11
...
389857ac7e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
389857ac7e | ||
|
|
dde3f11bbe | ||
|
|
ff90f51cf1 |
@@ -16,7 +16,7 @@
|
|||||||
<el-step :status="step1" title="设备通讯校验"/>
|
<el-step :status="step1" title="设备通讯校验"/>
|
||||||
<el-step :status="step2" title="模型一致性校验"/>
|
<el-step :status="step2" title="模型一致性校验"/>
|
||||||
<el-step :status="step3" title="数据对齐验证" v-if="!props.onlyWave"/>
|
<el-step :status="step3" title="数据对齐验证" v-if="!props.onlyWave"/>
|
||||||
<el-step :status="step4" title="相序校验"/>
|
<el-step :status="step4" title="相序校验" v-if="props.xiangXuIsShow"/>
|
||||||
<!-- <el-step :status="step6" title="遥控录波功能验证"/> -->
|
<!-- <el-step :status="step6" title="遥控录波功能验证"/> -->
|
||||||
<el-step :status="step5" :title="ts === 'error'? '检测失败':ts === 'process'? '检测中':ts === 'success'? '检测成功':'待检测'"/>
|
<el-step :status="step5" :title="ts === 'error'? '检测失败':ts === 'process'? '检测中':ts === 'success'? '检测成功':'待检测'"/>
|
||||||
</el-steps>
|
</el-steps>
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<el-collapse-item title="相序校验" name="4">
|
<el-collapse-item title="相序校验" name="4" v-if="props.xiangXuIsShow">
|
||||||
<div class="div-log">
|
<div class="div-log">
|
||||||
<p v-for="(item, index) in step4InitLog" :key="index"
|
<p v-for="(item, index) in step4InitLog" :key="index"
|
||||||
:style="{ color: item.type === 'error' ? '#F56C6C' : 'var(--el-text-color-regular)' }">
|
:style="{ color: item.type === 'error' ? '#F56C6C' : 'var(--el-text-color-regular)' }">
|
||||||
@@ -84,6 +84,28 @@
|
|||||||
import { ElMessage, ElMessageBox, StepProps } from 'element-plus'
|
import { ElMessage, ElMessageBox, StepProps } from 'element-plus'
|
||||||
import { computed, PropType, ref, toRef, watch } from 'vue'
|
import { computed, PropType, ref, toRef, watch } from 'vue'
|
||||||
import RealTimeData from './realTimeDataAlign.vue'
|
import RealTimeData from './realTimeDataAlign.vue'
|
||||||
|
const props = defineProps({
|
||||||
|
testStatus: {
|
||||||
|
type: String,
|
||||||
|
default: 'wait'
|
||||||
|
},
|
||||||
|
webMsgSend: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
},
|
||||||
|
mapping: {
|
||||||
|
type: Object as PropType<Record<string, Record<string, string>>>,
|
||||||
|
default: () => ({})
|
||||||
|
},
|
||||||
|
onlyWave: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
xiangXuIsShow:{
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const realTimeDataRef = ref()
|
const realTimeDataRef = ref()
|
||||||
|
|
||||||
@@ -122,10 +144,13 @@ const isShowDialog = ref(false)
|
|||||||
const collapseActiveName = ref('1')
|
const collapseActiveName = ref('1')
|
||||||
const activeIndex = ref(0)
|
const activeIndex = ref(0)
|
||||||
const activeTotalNum = computed(() => {
|
const activeTotalNum = computed(() => {
|
||||||
let count = 4; // 基础步骤数:设备通讯校验、模型一致性校验、相序校验、最终状态
|
let count = 3; // 基础步骤数:设备通讯校验、模型一致性校验、最终状态
|
||||||
if (props.onlyWave) {
|
if (!props.onlyWave) {
|
||||||
count++; // 添加数据对齐验证步骤
|
count++; // 添加数据对齐验证步骤
|
||||||
}
|
}
|
||||||
|
if(props.xiangXuIsShow){//添加相序校验
|
||||||
|
count++;
|
||||||
|
}
|
||||||
return count;
|
return count;
|
||||||
});
|
});
|
||||||
const step1 = ref<StepProps['status']>('wait')
|
const step1 = ref<StepProps['status']>('wait')
|
||||||
@@ -150,35 +175,18 @@ const detectionOptions = ref([
|
|||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
name: "数据对齐验证",
|
name: "数据对齐验证",
|
||||||
selected: true,
|
selected: !props.onlyWave,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
name: "相序校验",
|
name: "相序校验",
|
||||||
selected: true,
|
selected: props.xiangXuIsShow,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process'>('finish');
|
const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process'>('finish');
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
testStatus: {
|
|
||||||
type: String,
|
|
||||||
default: 'wait'
|
|
||||||
},
|
|
||||||
webMsgSend: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
},
|
|
||||||
mapping: {
|
|
||||||
type: Object as PropType<Record<string, Record<string, string>>>,
|
|
||||||
default: () => ({})
|
|
||||||
},
|
|
||||||
onlyWave: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
const testStatus = toRef(props, 'testStatus');
|
const testStatus = toRef(props, 'testStatus');
|
||||||
@@ -332,6 +340,11 @@ watch(webMsgSend, function (newValue, oldValue) {
|
|||||||
if (newValue.code == 25001) { //最终成功
|
if (newValue.code == 25001) { //最终成功
|
||||||
step2.value = 'success'
|
step2.value = 'success'
|
||||||
step3.value = 'process'
|
step3.value = 'process'
|
||||||
|
if(props.onlyWave === true && props.xiangXuIsShow === false )//只有录波,相序不选
|
||||||
|
{
|
||||||
|
step5.value = 'success'
|
||||||
|
ts.value = 'success'
|
||||||
|
}
|
||||||
activeIndex.value = 2
|
activeIndex.value = 2
|
||||||
}
|
}
|
||||||
if (newValue.code == 25003) { //最终失败
|
if (newValue.code == 25003) { //最终失败
|
||||||
@@ -374,6 +387,11 @@ watch(webMsgSend, function (newValue, oldValue) {
|
|||||||
isShowDialog.value = true
|
isShowDialog.value = true
|
||||||
step3.value = 'success'
|
step3.value = 'success'
|
||||||
step4.value = 'process'
|
step4.value = 'process'
|
||||||
|
if(props.onlyWave === false && props.xiangXuIsShow === false )//相序不选
|
||||||
|
{
|
||||||
|
step5.value = 'success'
|
||||||
|
ts.value = 'success'
|
||||||
|
}
|
||||||
activeIndex.value = 3
|
activeIndex.value = 3
|
||||||
testDataStructure.value = newValue.data
|
testDataStructure.value = newValue.data
|
||||||
}
|
}
|
||||||
@@ -514,18 +532,30 @@ watch(webMsgSend, function (newValue, oldValue) {
|
|||||||
// })
|
// })
|
||||||
|
|
||||||
watch(activeIndex, function (newValue, oldValue) {
|
watch(activeIndex, function (newValue, oldValue) {
|
||||||
if(props.onlyWave === true)
|
|
||||||
|
if(props.onlyWave === true && props.xiangXuIsShow === false )
|
||||||
{
|
{
|
||||||
if (Number(collapseActiveName.value) < activeTotalNum.value - 2) {
|
if (Number(collapseActiveName.value) < activeTotalNum.value) {
|
||||||
|
if(newValue == 2){
|
||||||
|
collapseActiveName.value = '2'
|
||||||
|
}else{
|
||||||
|
collapseActiveName.value = (newValue + 1).toString()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(props.onlyWave === true && props.xiangXuIsShow === true )
|
||||||
|
{
|
||||||
|
if (Number(collapseActiveName.value) < activeTotalNum.value) {
|
||||||
if(newValue == 2){
|
if(newValue == 2){
|
||||||
collapseActiveName.value = '4'
|
collapseActiveName.value = '4'
|
||||||
}else{
|
}else{
|
||||||
collapseActiveName.value = (newValue + 1).toString()
|
collapseActiveName.value = (newValue + 1).toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (Number(collapseActiveName.value) < activeTotalNum.value) {
|
if (Number(collapseActiveName.value) < activeTotalNum.value - 1) {
|
||||||
collapseActiveName.value = (newValue + 1).toString()
|
collapseActiveName.value = (newValue + 1).toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@
|
|||||||
:webMsgSend="webMsgSend"
|
:webMsgSend="webMsgSend"
|
||||||
:mapping="channelMapping"
|
:mapping="channelMapping"
|
||||||
:onlyWave="onlyWave"
|
:onlyWave="onlyWave"
|
||||||
|
:xiangXuIsShow="xiangXuIsShow"
|
||||||
/>
|
/>
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
<keep-alive>
|
<keep-alive>
|
||||||
@@ -170,6 +171,9 @@ const preTestRef = ref<InstanceType<typeof ComparePreTest> | null>(null)
|
|||||||
const testRef: any = ref(null)
|
const testRef: any = ref(null)
|
||||||
const windowWidth = ref(window.innerWidth)
|
const windowWidth = ref(window.innerWidth)
|
||||||
const computedDialogWidth = ref(0)
|
const computedDialogWidth = ref(0)
|
||||||
|
|
||||||
|
const xiangXuIsShow = ref(true)//预检测是否展示相序检测
|
||||||
|
|
||||||
// 监听窗口大小变化
|
// 监听窗口大小变化
|
||||||
const handleResize = () => {
|
const handleResize = () => {
|
||||||
windowWidth.value = window.innerWidth
|
windowWidth.value = window.innerWidth
|
||||||
@@ -342,7 +346,8 @@ const handleSubmitAgain = async () => {
|
|||||||
standardDevIds: standardDevIds.value,
|
standardDevIds: standardDevIds.value,
|
||||||
pairs: pairs.value,
|
pairs: pairs.value,
|
||||||
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
||||||
userId: userStore.userInfo.id
|
userId: userStore.userInfo.id,
|
||||||
|
phaseCheck: xiangXuIsShow.value ? 1 : 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
preTestStatus.value = 'start'
|
preTestStatus.value = 'start'
|
||||||
@@ -350,6 +355,26 @@ const handleSubmitAgain = async () => {
|
|||||||
|
|
||||||
//开始检测
|
//开始检测
|
||||||
const handleSubmitFast = async () => {
|
const handleSubmitFast = async () => {
|
||||||
|
|
||||||
|
try {
|
||||||
|
await ElMessageBox.confirm('是否需要进行相序检测?', '确认检测', {
|
||||||
|
confirmButtonText: '是',
|
||||||
|
cancelButtonText: '否',
|
||||||
|
distinguishCancelAndClose: true, // 区分取消和关闭操作
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
xiangXuIsShow.value = true;
|
||||||
|
} catch (action) {
|
||||||
|
// 区分用户点击关闭按钮和其他情况
|
||||||
|
if (action === 'cancel') {
|
||||||
|
// 用户点击了"否"按钮
|
||||||
|
xiangXuIsShow.value = false;
|
||||||
|
} else {
|
||||||
|
// 用户点击了关闭按钮或按了ESC键,中断流程
|
||||||
|
return; // 直接返回,不继续执行后续代码
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (channelPairingRef.value) {
|
if (channelPairingRef.value) {
|
||||||
const res = await channelPairingRef.value.handleNext()
|
const res = await channelPairingRef.value.handleNext()
|
||||||
|
|
||||||
@@ -390,7 +415,8 @@ const handleSubmitFast = async () => {
|
|||||||
pairs: pairs.value,
|
pairs: pairs.value,
|
||||||
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
||||||
|
|
||||||
userId: userStore.userInfo.id
|
userId: userStore.userInfo.id,
|
||||||
|
phaseCheck: xiangXuIsShow.value ? 1 : 0,
|
||||||
})
|
})
|
||||||
preTestStatus.value = 'start'
|
preTestStatus.value = 'start'
|
||||||
if (checkStore.selectTestItems.test) {
|
if (checkStore.selectTestItems.test) {
|
||||||
@@ -414,7 +440,8 @@ const handleSubmitFast = async () => {
|
|||||||
pairs: pairs.value,
|
pairs: pairs.value,
|
||||||
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
testItemList: [checkStore.selectTestItems.preTest, false, checkStore.selectTestItems.test],
|
||||||
|
|
||||||
userId: userStore.userInfo.id
|
userId: userStore.userInfo.id,
|
||||||
|
phaseCheck: xiangXuIsShow.value ? 1 : 0,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
TestStatus.value = 'start'
|
TestStatus.value = 'start'
|
||||||
@@ -508,8 +535,6 @@ const sendPause = () => {
|
|||||||
pauseTest()
|
pauseTest()
|
||||||
}
|
}
|
||||||
const sendResume = () => {
|
const sendResume = () => {
|
||||||
|
|
||||||
|
|
||||||
resumeTest({
|
resumeTest({
|
||||||
userPageId: JwtUtil.getLoginName(),
|
userPageId: JwtUtil.getLoginName(),
|
||||||
devIds: checkStore.devices.map(item => item.deviceId),
|
devIds: checkStore.devices.map(item => item.deviceId),
|
||||||
|
|||||||
Reference in New Issue
Block a user