2024-11-18 22:04:59 +08:00
|
|
|
|
<template>
|
2024-12-18 20:26:18 +08:00
|
|
|
|
<div class="dialog" v-bind="dialogBig">
|
2024-12-18 15:56:59 +08:00
|
|
|
|
<div class="dialog-title">
|
2024-12-18 18:53:55 +08:00
|
|
|
|
<el-progress
|
|
|
|
|
|
style="width: 90%"
|
|
|
|
|
|
:percentage="percentage"
|
|
|
|
|
|
:color="customColors"/>
|
|
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
type="primary"
|
2024-12-24 19:21:43 +08:00
|
|
|
|
v-if="testStatus=='process' && activeIndex < checkTotal"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
:disabled="activeIndex===0"
|
|
|
|
|
|
:icon="VideoPause"
|
2024-12-20 20:34:39 +08:00
|
|
|
|
@click="emit('update:testStatus','paused')">停止检测
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</el-button>
|
|
|
|
|
|
|
2024-12-24 19:21:43 +08:00
|
|
|
|
<el-button type="success" v-if="activeIndex >= checkTotal" :icon="Check" disabled>检测完成</el-button>
|
2024-12-18 18:53:55 +08:00
|
|
|
|
|
|
|
|
|
|
<el-button
|
|
|
|
|
|
type="warning"
|
2024-12-24 19:21:43 +08:00
|
|
|
|
v-if="testStatus=='paused' && activeIndex < checkTotal"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
:icon="Refresh"
|
2024-12-20 20:20:08 +08:00
|
|
|
|
@click="emit('update:testStatus','process')"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
>继续检测
|
|
|
|
|
|
</el-button>
|
2024-12-20 18:19:18 +08:00
|
|
|
|
<el-button type="text" :icon="InfoFilled" @click="showTestLog">检测项进度</el-button>
|
2024-12-18 18:53:55 +08:00
|
|
|
|
<!-- <el-button
|
|
|
|
|
|
type="warning"
|
2024-12-24 19:21:43 +08:00
|
|
|
|
v-if="activeIndex >= checkTotal"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
:icon="Refresh"
|
|
|
|
|
|
@click="handleReCheck"
|
|
|
|
|
|
>重新检测</el-button
|
|
|
|
|
|
> -->
|
|
|
|
|
|
<!-- <el-button type="danger" :icon="Close" @click="handleFinishTest"
|
|
|
|
|
|
>停止检测</el-button
|
|
|
|
|
|
> -->
|
2024-11-18 22:04:59 +08:00
|
|
|
|
|
|
|
|
|
|
</div>
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-18 20:26:18 +08:00
|
|
|
|
<div class="dialog-content">
|
2024-12-23 13:23:28 +08:00
|
|
|
|
<el-table :data="checkResultView" :cell-class-name="tableCell" row-key="scriptId" height="450px"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
:header-cell-style="{ background: '#003078', color: '#eee', textAlign: 'center' } " style="width: 100%"
|
|
|
|
|
|
border>
|
2024-12-25 18:04:16 +08:00
|
|
|
|
<el-table-column fixed prop="scriptName" label="检测项目" width="140px" align="center">
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
|
|
<template v-if="chnSum<=MAX_CHN_SUM">
|
2024-12-21 12:41:06 +08:00
|
|
|
|
<el-table-column v-for="(item,index1) in deviceList" :key="item.deviceId" :label="item.deviceName"
|
2024-12-20 10:19:58 +08:00
|
|
|
|
:min-width="110" align="center">
|
2024-12-21 12:41:06 +08:00
|
|
|
|
<el-table-column v-for="(chnItem,index2) in item.chnNum" :key="`${item.deviceId}${chnItem}`"
|
2024-12-20 10:19:58 +08:00
|
|
|
|
:label="'通道'+chnItem" align="center">
|
|
|
|
|
|
<template #default="{row}">
|
|
|
|
|
|
<el-tooltip
|
2024-12-20 10:43:17 +08:00
|
|
|
|
:content="row.devices[index1].chnResult[index2].resultType==='info' ? '暂无数据' : '点击查看详情'"
|
2024-12-20 10:19:58 +08:00
|
|
|
|
placement="top">
|
2024-12-18 18:53:55 +08:00
|
|
|
|
<el-button
|
2024-12-20 10:43:17 +08:00
|
|
|
|
:disabled="row.devices[index1].chnResult[index2].resultType=='info'"
|
|
|
|
|
|
:type="row.devices[index1].chnResult[index2].resultType"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
size="small"
|
2024-12-23 13:23:28 +08:00
|
|
|
|
@click="handleClick(row.scriptId,item.deviceId,chnItem)"
|
2024-12-18 15:56:59 +08:00
|
|
|
|
>
|
2024-12-20 10:43:17 +08:00
|
|
|
|
{{ row.devices[index1].chnResult[index2].resultValue }}
|
2024-12-18 15:56:59 +08:00
|
|
|
|
</el-button>
|
|
|
|
|
|
</el-tooltip>
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<template v-else>
|
2024-12-21 12:41:06 +08:00
|
|
|
|
<el-table-column v-for="(item,index) in deviceList" :key="item.deviceId" :label="item.deviceName"
|
2024-12-20 10:19:58 +08:00
|
|
|
|
:min-width="110" align="center">
|
|
|
|
|
|
<template #default="{row}">
|
|
|
|
|
|
<el-tooltip :content="row.devices[index].chnResult[0].resultType==='info' ? '暂无数据' : '点击查看详情'"
|
|
|
|
|
|
placement="top">
|
2024-12-18 18:53:55 +08:00
|
|
|
|
<el-button
|
2024-12-20 10:19:58 +08:00
|
|
|
|
:disabled="row.devices[index].chnResult[0].resultType=='info'"
|
|
|
|
|
|
:type="row.devices[index].chnResult[0].resultType"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
size="small"
|
2024-12-23 13:23:28 +08:00
|
|
|
|
@click="handleClick(row.scriptId,item.deviceId,-1)"
|
2024-12-18 18:53:55 +08:00
|
|
|
|
>
|
2024-12-20 10:19:58 +08:00
|
|
|
|
{{ row.devices[index].chnResult[0].resultValue }}
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</el-button>
|
|
|
|
|
|
</el-tooltip>
|
2024-12-18 15:56:59 +08:00
|
|
|
|
</template>
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</el-table-column>
|
|
|
|
|
|
</template>
|
2024-12-18 15:56:59 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
</el-table>
|
2024-11-18 22:04:59 +08:00
|
|
|
|
</div>
|
2024-12-20 20:14:52 +08:00
|
|
|
|
|
2024-12-20 20:20:08 +08:00
|
|
|
|
</div>
|
2024-12-24 19:21:43 +08:00
|
|
|
|
<div class="drawer-container">
|
|
|
|
|
|
<el-drawer v-model="drawer" title="检测项进度">
|
|
|
|
|
|
<!-- <template #header>-->
|
|
|
|
|
|
<!-- <div style="background: #003078 !important; color: #fff !important; font-size: 18px;">检测项进度</div>-->
|
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
|
<div ref="scrollContainer">
|
|
|
|
|
|
<p v-for="(item, index) in testLogList"
|
|
|
|
|
|
:key="index"
|
|
|
|
|
|
:style="{color:item.type==='error'?'#F56C6C':'var(--el-text-color-regular)'}">
|
|
|
|
|
|
{{ item.log }}<br/>
|
|
|
|
|
|
</p>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</el-drawer>
|
|
|
|
|
|
</div>
|
2024-12-20 10:21:36 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
<resultPopup
|
|
|
|
|
|
:visible="resultDialogVisible"
|
|
|
|
|
|
@update:visible="resultDialogVisible = $event"
|
|
|
|
|
|
></resultPopup>
|
2024-12-20 10:19:58 +08:00
|
|
|
|
<dataCheckSingleChannelSingleTestPopup ref="dataCheckSingleChannelSingleTestPopupRef"/>
|
2024-11-18 22:04:59 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
<script lang="tsx" setup name="test">
|
2024-12-20 20:14:52 +08:00
|
|
|
|
import {Check, InfoFilled, Refresh, VideoPause} from '@element-plus/icons-vue'
|
2024-11-19 19:34:00 +08:00
|
|
|
|
import resultPopup from './resultPopup.vue'
|
|
|
|
|
|
import dataCheckSingleChannelSingleTestPopup from './dataCheckSingleChannelSingleTestPopup.vue'
|
2024-12-24 11:29:31 +08:00
|
|
|
|
import {reactive, ref, watch} from "vue";
|
2024-12-18 20:26:18 +08:00
|
|
|
|
import {dialogBig} from "@/utils/elementBind";
|
2024-12-20 18:19:18 +08:00
|
|
|
|
import {CheckData} from "@/api/check/interface"
|
|
|
|
|
|
import {useCheckStore} from "@/stores/modules/check";
|
|
|
|
|
|
|
|
|
|
|
|
const checkStore = useCheckStore()
|
2024-11-18 22:04:59 +08:00
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 最大通道数
|
|
|
|
|
|
const MAX_CHN_SUM = 10
|
|
|
|
|
|
|
2024-12-24 19:21:43 +08:00
|
|
|
|
// 总测试项数
|
|
|
|
|
|
const checkTotal = ref(0)
|
|
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const props = defineProps({
|
|
|
|
|
|
testStatus: {
|
|
|
|
|
|
type: String,
|
|
|
|
|
|
default: 'waiting'
|
|
|
|
|
|
},
|
|
|
|
|
|
webMsgSend: {
|
|
|
|
|
|
type: Object,
|
|
|
|
|
|
default: () => ({})
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const emit = defineEmits(['update:testStatus', 'update:webMsgSend']);
|
|
|
|
|
|
|
|
|
|
|
|
// 用来保存测试项进度抽屉是否打开
|
|
|
|
|
|
const drawer = ref(false)
|
|
|
|
|
|
// 进度条颜色
|
|
|
|
|
|
const customColors = [{color: "#5cb87a", percentage: 100}]
|
2024-12-24 19:21:43 +08:00
|
|
|
|
// 检测脚本数据
|
|
|
|
|
|
const scriptData = reactive<CheckData.ScriptItem[]>([])
|
2024-12-24 11:29:31 +08:00
|
|
|
|
// 用来保存被检设备
|
|
|
|
|
|
const deviceList = reactive<CheckData.Device[]>([])
|
|
|
|
|
|
// 用来保存定时器
|
|
|
|
|
|
const timer: any = ref("");
|
|
|
|
|
|
// 当前进行的测试项索引
|
|
|
|
|
|
const activeIndex = ref(0)
|
|
|
|
|
|
// 百分比
|
|
|
|
|
|
const percentage = ref(0);
|
|
|
|
|
|
//测试项开始检测时间(或继续检测时间)
|
|
|
|
|
|
const startData = ref(new Date())
|
|
|
|
|
|
//测试项检测结束时间(或暂停时的时间)
|
|
|
|
|
|
const endData = ref(new Date())
|
|
|
|
|
|
const timeDifference = ref(0)
|
2024-12-24 19:21:43 +08:00
|
|
|
|
// 真正的检测结果(详细到通道)
|
|
|
|
|
|
const checkResult = reactive<CheckData.ScriptChnItem[]>([])
|
2024-12-24 11:29:31 +08:00
|
|
|
|
// 用来存放检测出现失败的测试项id。只要有一个通道检测不合格,则该检测项的id会被加入该数组。
|
|
|
|
|
|
const errorCheckItem = reactive<string[]>([]);
|
|
|
|
|
|
// 用来存放检测日志
|
|
|
|
|
|
const testLogList = ref<CheckData.LogItem[]>([{type: 'info', log: '暂无数据,等待检测开始'}])
|
2024-11-18 22:04:59 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const testStatus = toRef(props, 'testStatus')
|
|
|
|
|
|
const webMsgSend = toRef(props, 'webMsgSend')
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const resultDialogVisible = ref(false)
|
2024-12-24 19:21:43 +08:00
|
|
|
|
const scrollContainer = ref<HTMLElement | null>(null);
|
|
|
|
|
|
const dataCheckSingleChannelSingleTestPopupRef = ref<InstanceType<typeof dataCheckSingleChannelSingleTestPopup>>()
|
|
|
|
|
|
|
2024-12-13 08:56:42 +08:00
|
|
|
|
|
2024-12-18 15:56:59 +08:00
|
|
|
|
// 总通道数
|
|
|
|
|
|
const chnSum = computed(() => {
|
|
|
|
|
|
let sum = 0
|
2024-12-20 18:19:18 +08:00
|
|
|
|
deviceList.forEach((item) => {
|
2024-12-18 15:56:59 +08:00
|
|
|
|
sum += item.chnNum
|
|
|
|
|
|
})
|
|
|
|
|
|
return sum
|
|
|
|
|
|
})
|
|
|
|
|
|
|
2024-12-24 19:21:43 +08:00
|
|
|
|
// 用来展示的检测结果
|
|
|
|
|
|
const checkResultView = computed(() => {
|
|
|
|
|
|
|
|
|
|
|
|
let result: CheckData.ScriptChnViewItem[] = checkResult.map(item => {
|
|
|
|
|
|
let temp: CheckData.ScriptChnViewItem = {
|
|
|
|
|
|
scriptId: item.scriptId,
|
2024-12-25 18:04:16 +08:00
|
|
|
|
scriptName: item.scriptName,
|
2024-12-24 19:21:43 +08:00
|
|
|
|
devices: []
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
item.devices.forEach(device => {
|
|
|
|
|
|
let tempChnBtnResult: CheckData.ButtonResult[] = []
|
|
|
|
|
|
|
|
|
|
|
|
if (chnSum.value <= MAX_CHN_SUM) {
|
|
|
|
|
|
for (let j = 0; j < device.chnResult.length; j++) {
|
|
|
|
|
|
if (device.chnResult[j] == CheckData.ChnCheckResultEnum.UNKNOWN) {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'info', resultValue: '-'})
|
|
|
|
|
|
} else if (device.chnResult[j] == CheckData.ChnCheckResultEnum.FAIL) {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'danger', resultValue: '×'})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'success', resultValue: '√'})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
let tempChnResult: CheckData.ChnCheckResultEnum = device.chnResult[0]
|
|
|
|
|
|
if (device.chnResult.some(item => item == CheckData.ChnCheckResultEnum.FAIL)) {
|
|
|
|
|
|
tempChnResult = CheckData.ChnCheckResultEnum.FAIL
|
|
|
|
|
|
}
|
|
|
|
|
|
if (tempChnResult == CheckData.ChnCheckResultEnum.UNKNOWN) {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'info', resultValue: '-'})
|
|
|
|
|
|
} else if (tempChnResult == CheckData.ChnCheckResultEnum.FAIL) {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'danger', resultValue: '×'})
|
|
|
|
|
|
} else {
|
|
|
|
|
|
tempChnBtnResult.push({resultType: 'success', resultValue: '√'})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
temp.devices.push({
|
|
|
|
|
|
deviceId: device.deviceId,
|
|
|
|
|
|
deviceName: device.deviceName,
|
|
|
|
|
|
chnResult: tempChnBtnResult
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
return temp
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
})
|
2024-12-24 11:29:31 +08:00
|
|
|
|
|
|
|
|
|
|
watch(testStatus, function (newValue, oldValue) {
|
|
|
|
|
|
if (newValue == 'start') {
|
|
|
|
|
|
emit('update:testStatus', 'process')
|
|
|
|
|
|
startTimer()
|
|
|
|
|
|
}
|
|
|
|
|
|
if (newValue == 'paused' && oldValue == 'process') {
|
|
|
|
|
|
handlePauseOrContinue()
|
|
|
|
|
|
}
|
|
|
|
|
|
if (newValue === 'process' && oldValue == 'paused') {
|
|
|
|
|
|
handlePauseOrContinue()
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
watch(webMsgSend, function (newValue, oldValue) {
|
2024-12-24 19:21:43 +08:00
|
|
|
|
if (activeIndex.value <= checkTotal.value) {
|
2024-12-24 11:29:31 +08:00
|
|
|
|
switch (newValue.requestId) {
|
|
|
|
|
|
case 'Test_Freq':
|
2024-12-25 13:22:54 +08:00
|
|
|
|
console.log('检测开始')
|
2024-12-24 11:29:31 +08:00
|
|
|
|
updateCheckResultView("Freq")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_VOL':
|
|
|
|
|
|
updateCheckResultView("VOL")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Harm_V':
|
|
|
|
|
|
updateCheckResultView("Harm_V")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Harm_I':
|
|
|
|
|
|
updateCheckResultView("Harm_I")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Harm_P':
|
|
|
|
|
|
updateCheckResultView("Harm_P")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_InHarm_V':
|
|
|
|
|
|
updateCheckResultView("InHarm_V")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_InHarm_I':
|
|
|
|
|
|
updateCheckResultView("InHarm_I")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Dip':
|
|
|
|
|
|
updateCheckResultView("Dip")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_CUR':
|
|
|
|
|
|
updateCheckResultView("CUR")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_MSQI_U':
|
|
|
|
|
|
updateCheckResultView("MSQI_U")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_MSQI_I':
|
|
|
|
|
|
updateCheckResultView("MSQI_I")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Flicker':
|
|
|
|
|
|
updateCheckResultView("Flicker")
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'Test_Quit':
|
|
|
|
|
|
console.log('检测结束')
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updateLog()
|
|
|
|
|
|
activeIndex.value++;
|
|
|
|
|
|
|
|
|
|
|
|
if (percentage.value < 100) {
|
2024-12-24 19:21:43 +08:00
|
|
|
|
percentage.value = Math.trunc(activeIndex.value / checkTotal.value * 100);
|
2024-12-24 11:29:31 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
percentage.value = 100;
|
|
|
|
|
|
clearInterval(timer.value)
|
|
|
|
|
|
timer.value = null;
|
|
|
|
|
|
emit('update:testStatus', 'success')
|
|
|
|
|
|
|
|
|
|
|
|
ElMessageBox.alert('检测全部结束,你可以停留在此页面查看检测结果,或返回首页进行复检、报告生成和归档等操作', '检测完成', {
|
|
|
|
|
|
// if you want to disable its autofocus
|
|
|
|
|
|
// autofocus: false,
|
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
|
})
|
|
|
|
|
|
clear();
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
clearInterval(timer.value)
|
|
|
|
|
|
timer.value = null;
|
|
|
|
|
|
emit('update:testStatus', 'success')
|
|
|
|
|
|
scrollToBottom();
|
|
|
|
|
|
}
|
|
|
|
|
|
}, {deep: true})
|
|
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
onBeforeMount(() => {
|
|
|
|
|
|
initScriptData()
|
2024-12-20 18:19:18 +08:00
|
|
|
|
initDeviceList()
|
2024-12-20 10:19:58 +08:00
|
|
|
|
initCheckResult()
|
|
|
|
|
|
})
|
2024-12-13 08:56:42 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const showTestLog = () => {
|
|
|
|
|
|
drawer.value = true
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 初始化检测脚本数据
|
|
|
|
|
|
const initScriptData = () => {
|
2024-12-24 11:29:31 +08:00
|
|
|
|
let map = new Map<string, string>()
|
|
|
|
|
|
map.set('Freq', '频率')
|
|
|
|
|
|
.set('VOL', '电压')
|
|
|
|
|
|
.set('Harm_V', '谐波电压')
|
|
|
|
|
|
.set('Harm_I', '谐波电流')
|
|
|
|
|
|
.set('Harm_P', '谐波有功功率')
|
|
|
|
|
|
.set('InHarm_V', '间谐波电压')
|
|
|
|
|
|
.set('InHarm_I', '间谐波电流')
|
|
|
|
|
|
.set('Dip', '暂态')
|
|
|
|
|
|
.set('CUR', '电流')
|
|
|
|
|
|
.set('MSQI_U', '电压不平衡度')
|
|
|
|
|
|
.set('MSQI_I', '电流不平衡度')
|
|
|
|
|
|
.set('Flicker', '短时闪变')
|
|
|
|
|
|
|
|
|
|
|
|
let response: CheckData.ScriptItem[] = [
|
2024-12-25 18:04:16 +08:00
|
|
|
|
{id: '1', code: 'Freq', scriptName: '频率准确度检测'},
|
|
|
|
|
|
{id: '2', code: 'VOL', scriptName: '电压准确度检测'},
|
|
|
|
|
|
{id: '3', code: 'Harm_V', scriptName: '谐波电压准确度检测'},
|
|
|
|
|
|
{id: '4', code: 'Harm_I', scriptName: '谐波电流准确度检测'},
|
|
|
|
|
|
{id: '5', code: 'Harm_P', scriptName: '谐波有功功率准确度检测'},
|
|
|
|
|
|
{id: '6', code: 'InHarm_V', scriptName: '间谐波电压准确度检测'},
|
|
|
|
|
|
{id: '7', code: 'InHarm_I', scriptName: '间谐波电流准确度检测'},
|
|
|
|
|
|
{id: '8', code: 'Dip', scriptName: '暂态准确度检测'},
|
|
|
|
|
|
{id: '9', code: 'CUR', scriptName: '电流准确度检测'},
|
|
|
|
|
|
{id: '10', code: 'MSQI_U', scriptName: '三相电压不平衡度检测'},
|
|
|
|
|
|
{id: '11', code: 'MSQI_I', scriptName: '三相电流不平衡度检测'},
|
|
|
|
|
|
{id: '12', code: 'Flicker', scriptName: '闪变准确度检测'}
|
2024-12-24 11:29:31 +08:00
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
let temp = response.map(item => {
|
|
|
|
|
|
return {
|
|
|
|
|
|
...item,
|
2024-12-25 18:04:16 +08:00
|
|
|
|
scriptName: map.get(item.code) || item.scriptName
|
2024-12-24 11:29:31 +08:00
|
|
|
|
}
|
|
|
|
|
|
})
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
scriptData.push(...temp)
|
2024-12-24 19:21:43 +08:00
|
|
|
|
checkTotal.value = scriptData.length + 1
|
2024-12-20 10:19:58 +08:00
|
|
|
|
}
|
2024-12-20 18:19:18 +08:00
|
|
|
|
// 初始化设备列表
|
|
|
|
|
|
const initDeviceList = () => {
|
|
|
|
|
|
checkStore.devices.forEach(item => {
|
|
|
|
|
|
deviceList.push({
|
2024-12-21 12:41:06 +08:00
|
|
|
|
deviceId: item.deviceId,
|
2024-12-20 18:19:18 +08:00
|
|
|
|
deviceName: item.deviceName,
|
|
|
|
|
|
chnNum: item.chnNum,
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
2024-12-24 19:21:43 +08:00
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 初始化检测结果 (详细到通道)
|
|
|
|
|
|
const initCheckResult = () => {
|
|
|
|
|
|
scriptData.forEach(item => {
|
|
|
|
|
|
// 处理当前节点的数据
|
2024-12-20 18:19:18 +08:00
|
|
|
|
let temp: CheckData.ScriptChnItem = {
|
2024-12-21 12:41:06 +08:00
|
|
|
|
scriptId: item.id,
|
2024-12-25 18:04:16 +08:00
|
|
|
|
scriptName: item.scriptName,
|
2024-12-20 10:19:58 +08:00
|
|
|
|
devices: []
|
|
|
|
|
|
}
|
2024-12-20 18:19:18 +08:00
|
|
|
|
for (let i = 0; i < deviceList?.length; i++) {
|
|
|
|
|
|
let tempChnResult: CheckData.ChnCheckResultEnum[] = []
|
|
|
|
|
|
for (let j = 0; j < deviceList[i].chnNum; j++) {
|
|
|
|
|
|
tempChnResult.push(CheckData.ChnCheckResultEnum.UNKNOWN)
|
2024-11-21 23:02:43 +08:00
|
|
|
|
}
|
2024-12-20 10:19:58 +08:00
|
|
|
|
temp.devices.push({
|
2024-12-21 12:41:06 +08:00
|
|
|
|
deviceId: deviceList[i].deviceId,
|
2024-12-20 18:19:18 +08:00
|
|
|
|
deviceName: deviceList[i].deviceName,
|
2024-12-20 10:19:58 +08:00
|
|
|
|
chnResult: tempChnResult
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
checkResult.push(temp)
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
// 更新检测结果(详细到通道)
|
2024-12-20 18:19:18 +08:00
|
|
|
|
const updateCheckResult = (data: CheckData.ScriptChnItem) => {
|
2024-12-21 12:41:06 +08:00
|
|
|
|
const {scriptId} = {...data}
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
|
|
|
|
|
checkResult.forEach(item => {
|
2024-12-21 12:41:06 +08:00
|
|
|
|
if (item.scriptId == scriptId) {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
item.devices.forEach((device, index) => {
|
|
|
|
|
|
device.chnResult = [...data.devices[index].chnResult]
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-11-21 23:02:43 +08:00
|
|
|
|
const scrollToBottom = () => {
|
2024-12-18 18:53:55 +08:00
|
|
|
|
if (scrollContainer.value) {
|
|
|
|
|
|
scrollContainer.value.scrollTop = scrollContainer.value.scrollHeight;
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
2024-11-21 23:02:43 +08:00
|
|
|
|
|
|
|
|
|
|
function getRandomInt(max: number): number {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
return Math.floor(Math.random() * max)
|
2024-11-21 23:02:43 +08:00
|
|
|
|
}
|
2024-12-11 17:46:59 +08:00
|
|
|
|
|
|
|
|
|
|
//判断该检测项(例如 频率准确度检测)是否全部合格(所有设备所有通道所有子检测项目全部合格为合格,否则为不合格)
|
2024-12-24 11:29:31 +08:00
|
|
|
|
function getItemCheckResult(scriptId: string): boolean {
|
|
|
|
|
|
let items = errorCheckItem.filter((item) => item === scriptId)
|
2024-12-18 18:53:55 +08:00
|
|
|
|
if (items.length > 0) {
|
2024-12-11 17:46:59 +08:00
|
|
|
|
return false
|
2024-12-20 10:19:58 +08:00
|
|
|
|
} else {
|
2024-12-11 17:46:59 +08:00
|
|
|
|
return true
|
2024-12-20 10:19:58 +08:00
|
|
|
|
}
|
2024-12-11 17:46:59 +08:00
|
|
|
|
}
|
2024-12-18 18:53:55 +08:00
|
|
|
|
|
|
|
|
|
|
function getTimeDifference(timeDifference: number): string {
|
2024-12-11 17:46:59 +08:00
|
|
|
|
// 将时间差转换为天、小时、分钟、秒
|
|
|
|
|
|
const millisecondsPerDay = 1000 * 60 * 60 * 24;
|
|
|
|
|
|
const millisecondsPerHour = 1000 * 60 * 60;
|
|
|
|
|
|
const millisecondsPerMinute = 1000 * 60;
|
|
|
|
|
|
const millisecondsPerSecond = 1000;
|
|
|
|
|
|
|
|
|
|
|
|
const days = Math.floor(timeDifference / millisecondsPerDay);
|
|
|
|
|
|
const hours = Math.floor((timeDifference % millisecondsPerDay) / millisecondsPerHour);
|
|
|
|
|
|
const minutes = Math.floor((timeDifference % millisecondsPerHour) / millisecondsPerMinute);
|
|
|
|
|
|
const seconds = Math.floor((timeDifference % millisecondsPerMinute) / millisecondsPerSecond);
|
2024-12-18 18:53:55 +08:00
|
|
|
|
if (days > 0) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
return `: ${days} 天, ${hours} 小时, ${minutes} 分钟, ${seconds} 秒`
|
2024-12-18 18:53:55 +08:00
|
|
|
|
} else if (hours > 0) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
return `: ${hours} 小时, ${minutes} 分钟, ${seconds} 秒`
|
2024-12-18 18:53:55 +08:00
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
return `: ${minutes} 分钟, ${seconds} 秒`
|
|
|
|
|
|
}
|
2024-12-11 17:46:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 更新日志
|
2024-11-21 23:02:43 +08:00
|
|
|
|
const updateLog = () => {
|
|
|
|
|
|
const currentTime = ref(new Date().toLocaleString());
|
2024-12-20 10:19:58 +08:00
|
|
|
|
let timeDifferenceItem = 0
|
2024-11-21 23:02:43 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
switch (activeIndex.value) {
|
|
|
|
|
|
case 1:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
timeDifference.value = 0;
|
2024-11-21 23:02:43 +08:00
|
|
|
|
testLogList.value.length = 0; // 清空数组
|
|
|
|
|
|
testLogList.value.push({
|
|
|
|
|
|
type: 'info',
|
2024-12-11 18:48:54 +08:00
|
|
|
|
log: currentTime.value + ':检测开始',
|
2024-11-21 23:02:43 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
startData.value = new Date();
|
2024-11-21 23:02:43 +08:00
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 2:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 17:46:59 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':频率准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 17:46:59 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':频率准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 17:46:59 +08:00
|
|
|
|
}
|
2024-12-11 18:48:54 +08:00
|
|
|
|
startData.value = new Date();
|
2024-11-21 23:02:43 +08:00
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 3:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电压准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电压准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 4:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波电压准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波电压准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 5:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波电流准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波电流准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 6:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波有功功率准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':谐波有功功率准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 7:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':间谐波电压准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':间谐波电压准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 8:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':间谐波电流准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':间谐波电流准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 9:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':暂态准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':暂态准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 10:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电流准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电流准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 11:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电压不平衡度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电压不平衡度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 12:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电流不平衡度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':电流不平衡度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 13:
|
2024-12-11 18:48:54 +08:00
|
|
|
|
endData.value = new Date();
|
2024-12-20 10:19:58 +08:00
|
|
|
|
timeDifferenceItem = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += timeDifferenceItem
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (getItemCheckResult(scriptData[activeIndex.value - 2].id)) {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':闪变准确度检测合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
|
|
|
|
|
} else {
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'error',
|
2024-12-20 10:19:58 +08:00
|
|
|
|
log: currentTime.value + ':闪变准确度检测不合格,用时' + getTimeDifference(timeDifferenceItem),
|
2024-12-18 18:53:55 +08:00
|
|
|
|
})
|
2024-12-11 18:48:54 +08:00
|
|
|
|
}
|
2024-12-18 15:56:59 +08:00
|
|
|
|
|
2024-12-11 18:48:54 +08:00
|
|
|
|
testLogList.value.push({
|
|
|
|
|
|
type: 'info',
|
2024-12-18 18:53:55 +08:00
|
|
|
|
log: currentTime.value + ':检测结束,总用时' + getTimeDifference(timeDifference.value),
|
2024-12-11 18:48:54 +08:00
|
|
|
|
})
|
2024-11-21 23:02:43 +08:00
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
scrollToBottom();
|
2024-11-21 23:02:43 +08:00
|
|
|
|
}
|
2024-12-05 22:15:12 +08:00
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 动态获取表格单元格样式
|
2024-12-18 18:53:55 +08:00
|
|
|
|
function tableCell({row, columnIndex}) {
|
2024-12-23 13:23:28 +08:00
|
|
|
|
let items = errorCheckItem.filter((item) => item === row.scriptId)
|
2024-12-05 21:33:52 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
if (columnIndex === 0 && items.length > 0) {
|
2024-12-05 21:33:52 +08:00
|
|
|
|
return 'warning-row'
|
|
|
|
|
|
}
|
2024-12-18 18:53:55 +08:00
|
|
|
|
if (columnIndex === 0) {
|
2024-12-05 21:33:52 +08:00
|
|
|
|
return 'header-row'
|
|
|
|
|
|
}
|
2024-11-25 21:11:10 +08:00
|
|
|
|
}
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const updateCheckResultView = (scriptCode: string) => {
|
|
|
|
|
|
let scriptId = scriptData.filter(item => item.code === scriptCode)[0]?.id
|
|
|
|
|
|
let temp = simulateCheck(scriptId)
|
2024-12-20 10:19:58 +08:00
|
|
|
|
updateCheckResult(temp)
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 模拟检测 todo 可移除
|
2024-12-21 12:41:06 +08:00
|
|
|
|
const simulateCheck = (scriptId: string) => {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
let devices = []
|
|
|
|
|
|
|
2024-12-20 18:19:18 +08:00
|
|
|
|
devices = deviceList.map(item => {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-12-20 18:19:18 +08:00
|
|
|
|
let tempChnResult: CheckData.ChnCheckResultEnum[] = []
|
2024-12-20 10:19:58 +08:00
|
|
|
|
for (let i = 0; i < item.chnNum; i++) {
|
2024-12-20 18:19:18 +08:00
|
|
|
|
tempChnResult.push(CheckData.ChnCheckResultEnum.SUCCESS)
|
2024-12-20 10:19:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
let randomNum = getRandomInt(item.chnNum * 2)
|
|
|
|
|
|
if (activeIndex.value >= 4 && activeIndex.value <= 6) {
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (randomNum < item.chnNum) {
|
2024-12-20 18:19:18 +08:00
|
|
|
|
tempChnResult[randomNum] = CheckData.ChnCheckResultEnum.FAIL
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-12-21 12:41:06 +08:00
|
|
|
|
errorCheckItem.push(scriptId)
|
2024-11-21 23:02:43 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
return {
|
2024-12-21 12:41:06 +08:00
|
|
|
|
deviceId: item.deviceId,
|
2024-12-20 10:19:58 +08:00
|
|
|
|
deviceName: item.deviceName,
|
|
|
|
|
|
chnResult: tempChnResult,
|
2024-11-21 23:02:43 +08:00
|
|
|
|
}
|
2024-12-20 10:19:58 +08:00
|
|
|
|
})
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-20 18:19:18 +08:00
|
|
|
|
let tempScriptChnItem: CheckData.ScriptChnItem = {
|
2024-12-21 12:41:06 +08:00
|
|
|
|
scriptId,
|
2024-12-20 10:19:58 +08:00
|
|
|
|
devices,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return tempScriptChnItem
|
|
|
|
|
|
}
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-20 10:19:58 +08:00
|
|
|
|
// 处理暂停、继续按钮点击事件
|
|
|
|
|
|
const handlePauseOrContinue = () => {
|
2024-12-11 19:12:04 +08:00
|
|
|
|
const currentTime = ref(new Date().toLocaleString());
|
2024-11-20 21:30:05 +08:00
|
|
|
|
|
2024-12-20 20:34:39 +08:00
|
|
|
|
if (testStatus.value == "paused") {
|
2024-12-11 19:12:04 +08:00
|
|
|
|
endData.value = new Date();
|
|
|
|
|
|
const Pausetime = endData.value.getTime() - startData.value.getTime();
|
|
|
|
|
|
timeDifference.value += Pausetime
|
|
|
|
|
|
|
|
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
|
|
|
|
|
log: currentTime.value + ':暂停检测',
|
|
|
|
|
|
})
|
2024-11-21 23:02:43 +08:00
|
|
|
|
pauseTimer()
|
2024-12-20 20:34:39 +08:00
|
|
|
|
}
|
2024-12-24 11:29:31 +08:00
|
|
|
|
if (testStatus.value == "process") {
|
2024-12-11 19:12:04 +08:00
|
|
|
|
startData.value = new Date();
|
|
|
|
|
|
testLogList.value.push({
|
2024-12-18 18:53:55 +08:00
|
|
|
|
type: 'info',
|
|
|
|
|
|
log: currentTime.value + ':继续检测',
|
|
|
|
|
|
})
|
2024-11-21 23:02:43 +08:00
|
|
|
|
resumeTimer()
|
2024-11-18 22:04:59 +08:00
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2024-12-18 15:56:59 +08:00
|
|
|
|
// 点击查看(设备)通道检测详情。参数1:设备信息,参数2:通道号,-1:代表查看全部通道
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const handleClick = (scriptId: string, deviceId: any, chnNum: number) => {
|
2024-12-24 19:21:43 +08:00
|
|
|
|
dataCheckSingleChannelSingleTestPopupRef.value?.open(deviceId, chnNum, scriptId);
|
2024-11-19 19:34:00 +08:00
|
|
|
|
};
|
2024-11-18 22:04:59 +08:00
|
|
|
|
|
2024-11-25 21:11:10 +08:00
|
|
|
|
const startTimer = () => {
|
2024-12-24 19:21:43 +08:00
|
|
|
|
if (activeIndex.value === 0) {
|
|
|
|
|
|
activeIndex.value++;
|
|
|
|
|
|
}
|
2024-11-25 21:11:10 +08:00
|
|
|
|
//if (timer.value !== null) return; // 如果定时器已经启动,则不再重复启动
|
|
|
|
|
|
timer.value = setInterval(() => {
|
2024-12-24 19:21:43 +08:00
|
|
|
|
if (activeIndex.value <= checkTotal.value) {
|
2024-12-18 18:53:55 +08:00
|
|
|
|
switch (activeIndex.value) {
|
|
|
|
|
|
case 1:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Freq',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
2024-12-18 18:53:55 +08:00
|
|
|
|
break;
|
|
|
|
|
|
case 2:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_VOL',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
2024-12-18 18:53:55 +08:00
|
|
|
|
break;
|
|
|
|
|
|
case 3:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Harm_V',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 4:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Harm_I',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 5:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Harm_P',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 6:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_InHarm_V',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 7:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_InHarm_I',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 8:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Dip',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 9:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_CUR',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 10:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_MSQI_U',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 11:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_MSQI_I',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
case 12:
|
2024-12-24 11:29:31 +08:00
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Flicker',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 13:
|
|
|
|
|
|
emit('update:webMsgSend', {
|
|
|
|
|
|
requestId: 'Test_Quit',
|
|
|
|
|
|
params: {}
|
|
|
|
|
|
})
|
2024-12-18 18:53:55 +08:00
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-11-25 21:11:10 +08:00
|
|
|
|
}, 2000);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const pauseTimer = () => {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
if (timer.value) {
|
2024-11-25 21:11:10 +08:00
|
|
|
|
clearInterval(timer.value);
|
|
|
|
|
|
timer.value = null;
|
|
|
|
|
|
}
|
2024-12-20 10:19:58 +08:00
|
|
|
|
console.log('暂停中')
|
2024-11-25 21:11:10 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const resumeTimer = () => {
|
2024-12-20 10:19:58 +08:00
|
|
|
|
if (!timer.value) {
|
2024-11-25 21:11:10 +08:00
|
|
|
|
startTimer();
|
|
|
|
|
|
}
|
2024-12-20 10:19:58 +08:00
|
|
|
|
console.log('开始继续检测')
|
2024-11-25 21:11:10 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
2024-12-20 20:34:39 +08:00
|
|
|
|
//完成检测
|
|
|
|
|
|
const handleFinishTest = () => {
|
|
|
|
|
|
resultDialogVisible.value = true
|
|
|
|
|
|
ElMessage.success("完成检测");
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2024-12-24 11:29:31 +08:00
|
|
|
|
const handleReCheck = () => {
|
|
|
|
|
|
activeIndex.value = 0;
|
|
|
|
|
|
percentage.value = 0;
|
|
|
|
|
|
// tableData.value.length = 0;
|
|
|
|
|
|
testLogList.value.length = 0;
|
|
|
|
|
|
errorCheckItem.length = 0;
|
|
|
|
|
|
//tableData.value = JSON.parse(JSON.stringify(operatorTableData.value));
|
|
|
|
|
|
resumeTimer()
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
function clear() {
|
|
|
|
|
|
}
|
2024-11-25 21:11:10 +08:00
|
|
|
|
</script>
|
2024-12-20 10:19:58 +08:00
|
|
|
|
|
2024-11-25 21:11:10 +08:00
|
|
|
|
<style scoped lang="scss">
|
2024-12-18 15:56:59 +08:00
|
|
|
|
|
2024-12-05 21:33:52 +08:00
|
|
|
|
:deep(.el-table .header-row) {
|
2024-11-25 21:11:10 +08:00
|
|
|
|
// background-color:var(--el-color-warning-light-9);
|
2024-12-18 18:53:55 +08:00
|
|
|
|
background-color: #f5f7fa;
|
2024-11-25 21:11:10 +08:00
|
|
|
|
// color:red;
|
|
|
|
|
|
// font-size:30px;
|
|
|
|
|
|
// --el-table-tr-bg-color: var(--el-color-warning-light-9);
|
|
|
|
|
|
}
|
2024-12-18 18:53:55 +08:00
|
|
|
|
|
2024-12-05 21:33:52 +08:00
|
|
|
|
:deep(.el-table .warning-row) {
|
|
|
|
|
|
// background-color:var(--el-color-warning-light-9);
|
2024-12-06 09:10:39 +08:00
|
|
|
|
//background-color:#bed96557;
|
2024-12-18 18:53:55 +08:00
|
|
|
|
color: red;
|
2024-12-05 21:33:52 +08:00
|
|
|
|
// font-size:30px;
|
|
|
|
|
|
// --el-table-tr-bg-color: var(--el-color-warning-light-9);
|
2024-12-06 15:06:38 +08:00
|
|
|
|
// background-color:#f5f7fa;
|
|
|
|
|
|
// position: relative;
|
2024-12-05 21:33:52 +08:00
|
|
|
|
}
|
2024-12-06 15:06:38 +08:00
|
|
|
|
|
|
|
|
|
|
// :deep(.el-table .warning-row::before) {
|
|
|
|
|
|
// content: '*'; /* 必须设置content属性 */
|
|
|
|
|
|
// position: absolute;
|
|
|
|
|
|
// color:red;
|
|
|
|
|
|
// background-color:#f5f7fa;
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
2024-11-25 21:11:10 +08:00
|
|
|
|
.el-table .success-row {
|
|
|
|
|
|
--el-table-tr-bg-color: var(--el-color-success-light-9);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
.dialog {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
2024-12-18 20:26:18 +08:00
|
|
|
|
overflow-y: hidden;
|
|
|
|
|
|
overflow-x: hidden;
|
2024-11-25 21:11:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
.dialog-title {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
margin-right: 10px;
|
|
|
|
|
|
margin-bottom: 10px;
|
2024-11-25 21:11:10 +08:00
|
|
|
|
}
|
2024-12-11 19:12:04 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
.dialog-content {
|
2024-12-05 15:22:46 +08:00
|
|
|
|
max-height: 450px;
|
2024-12-18 20:26:18 +08:00
|
|
|
|
overflow-y: hidden;
|
2024-11-25 21:11:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
:deep(.el-collapse-item__header) {
|
|
|
|
|
|
height: 30px;
|
|
|
|
|
|
}
|
2024-12-11 19:12:04 +08:00
|
|
|
|
|
2024-12-18 18:53:55 +08:00
|
|
|
|
.dialog-log {
|
2024-12-11 19:12:04 +08:00
|
|
|
|
height: 50px;
|
2024-12-18 20:26:18 +08:00
|
|
|
|
overflow-y: hidden;
|
2024-11-25 21:11:10 +08:00
|
|
|
|
// flex-grow: 1;
|
|
|
|
|
|
// display: flex;
|
|
|
|
|
|
// flex-direction: column-reverse;
|
|
|
|
|
|
|
2024-12-11 19:12:04 +08:00
|
|
|
|
p {
|
|
|
|
|
|
margin: 5px 0;
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2024-12-24 19:21:43 +08:00
|
|
|
|
.drawer-container{
|
|
|
|
|
|
:deep(header.el-drawer__header){
|
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
|
background-color: #003078 !important;
|
|
|
|
|
|
|
|
|
|
|
|
.el-drawer__close-btn svg:hover {
|
|
|
|
|
|
color: #ccc !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.el-drawer__title{
|
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//:deep(.el-drawer .el-drawer__title){
|
|
|
|
|
|
// background-color: #003078 !important;
|
|
|
|
|
|
//}
|
2024-11-21 23:02:43 +08:00
|
|
|
|
|
2024-11-18 22:04:59 +08:00
|
|
|
|
</style>
|
2024-12-18 20:26:18 +08:00
|
|
|
|
|
2024-12-05 15:22:46 +08:00
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
:deep(.el-button--small) {
|
2024-12-18 18:53:55 +08:00
|
|
|
|
height: 20px !important;
|
|
|
|
|
|
width: 20px !important;
|
2024-12-05 15:22:46 +08:00
|
|
|
|
}
|
2024-12-18 18:53:55 +08:00
|
|
|
|
|
|
|
|
|
|
:deep(.el-table--default td ) {
|
2024-12-05 15:22:46 +08:00
|
|
|
|
padding: 5px 0 !important;
|
|
|
|
|
|
}
|
2024-12-20 10:21:36 +08:00
|
|
|
|
|
2024-12-24 19:21:43 +08:00
|
|
|
|
|
2024-12-05 15:22:46 +08:00
|
|
|
|
</style>
|