|
@@ -4,7 +4,7 @@ import titHeader from "./components/tit-header.vue";
|
|
import ConfigDataAndDevice from "./components/configDataAndDevice.vue";
|
|
import ConfigDataAndDevice from "./components/configDataAndDevice.vue";
|
|
import { useWebSocket } from "@vueuse/core";
|
|
import { useWebSocket } from "@vueuse/core";
|
|
import { useCommonStoreHook } from "@/store";
|
|
import { useCommonStoreHook } from "@/store";
|
|
-import { getTestProjectList } from "@/api/project";
|
|
|
|
|
|
+import { getProjectById, getTestProjectList } from "@/api/project";
|
|
import { CheckboxValueType } from "element-plus";
|
|
import { CheckboxValueType } from "element-plus";
|
|
import {
|
|
import {
|
|
searchExcutingGlobalData,
|
|
searchExcutingGlobalData,
|
|
@@ -17,6 +17,10 @@ import {
|
|
stopExecuteProjects,
|
|
stopExecuteProjects,
|
|
} from "@/api/project/excute";
|
|
} from "@/api/project/excute";
|
|
|
|
|
|
|
|
+defineOptions({
|
|
|
|
+ name: "RunTesting",
|
|
|
|
+});
|
|
|
|
+
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
|
|
|
interface VersionItem {
|
|
interface VersionItem {
|
|
@@ -35,7 +39,12 @@ const selectedExcutingMachine = ref<any>();
|
|
|
|
|
|
const drawer = ref(false);
|
|
const drawer = ref(false);
|
|
|
|
|
|
|
|
+// 测试工程信息
|
|
|
|
+const engineeringObj = ref<any>();
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
|
+ getProjectById(route.params.engineerId as string).then((res) => {
|
|
|
|
+ engineeringObj.value = res.data;
|
|
|
|
+ });
|
|
getAllTestTypes();
|
|
getAllTestTypes();
|
|
getExcutingMachines();
|
|
getExcutingMachines();
|
|
getTestProjectTopList();
|
|
getTestProjectTopList();
|
|
@@ -155,12 +164,12 @@ const onClickGlobalConfig = () => {
|
|
};
|
|
};
|
|
// 开始测试相关
|
|
// 开始测试相关
|
|
const isTesting = ref(false);
|
|
const isTesting = ref(false);
|
|
|
|
+const usedTime = ref(0);
|
|
|
|
+let interval = 0;
|
|
const currentTestingProject = ref<any>();
|
|
const currentTestingProject = ref<any>();
|
|
const startToRunTest = async () => {
|
|
const startToRunTest = async () => {
|
|
if (!checkStartEnable()) return;
|
|
if (!checkStartEnable()) return;
|
|
|
|
|
|
- wsClient.open();
|
|
|
|
-
|
|
|
|
let params = {
|
|
let params = {
|
|
configList: testingMachines.value,
|
|
configList: testingMachines.value,
|
|
engineeringId: route.params.engineerId,
|
|
engineeringId: route.params.engineerId,
|
|
@@ -171,10 +180,22 @@ const startToRunTest = async () => {
|
|
};
|
|
};
|
|
|
|
|
|
let res = await startExecuteProjects(params);
|
|
let res = await startExecuteProjects(params);
|
|
|
|
+
|
|
|
|
+ wsClient.open();
|
|
|
|
+
|
|
currentTestingProject.value = res.data;
|
|
currentTestingProject.value = res.data;
|
|
isTesting.value = true;
|
|
isTesting.value = true;
|
|
|
|
+
|
|
|
|
+ usedTime.value = 0;
|
|
|
|
+ interval = setInterval(() => {
|
|
|
|
+ usedTime.value += 1;
|
|
|
|
+ }, 1000);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+onUnmounted(async () => {
|
|
|
|
+ clearInterval(interval);
|
|
|
|
+});
|
|
|
|
+
|
|
const stopTesting = async () => {
|
|
const stopTesting = async () => {
|
|
let res = await stopExecuteProjects(currentTestingProject.value?.id);
|
|
let res = await stopExecuteProjects(currentTestingProject.value?.id);
|
|
isTesting.value = false;
|
|
isTesting.value = false;
|
|
@@ -203,6 +224,53 @@ const setTestingData = () => {
|
|
data[project.projectName] = [];
|
|
data[project.projectName] = [];
|
|
});
|
|
});
|
|
testingWSData.value = data;
|
|
testingWSData.value = data;
|
|
|
|
+
|
|
|
|
+ // testingWSData.value = {
|
|
|
|
+ // 电源测试: [
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // ],
|
|
|
|
+ // wanger: [
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // dataItem: "测试值0嘟嘟嘟嘟嘟嘟",
|
|
|
|
+ // dataContent: "dddddafvdafgvjf多发点顺丰水电费阿道夫爸的阿凡达深V啊",
|
|
|
|
+ // },
|
|
|
|
+ // ],
|
|
|
|
+ // };
|
|
};
|
|
};
|
|
watch(topProSelectedList, () => {
|
|
watch(topProSelectedList, () => {
|
|
setTestingData();
|
|
setTestingData();
|
|
@@ -435,6 +503,16 @@ const cancelMsgType5 = () => {
|
|
:model="formLabelAlign"
|
|
:model="formLabelAlign"
|
|
ref="ruleFormRef"
|
|
ref="ruleFormRef"
|
|
>
|
|
>
|
|
|
|
+ <el-form-item label="产品名称">
|
|
|
|
+ {{ engineeringObj?.engineeringProductName }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="工程类型">
|
|
|
|
+ {{ engineeringObj?.engineeringType }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label=" 工程版本" label-position="left">
|
|
|
|
+ {{ engineeringObj?.engineeringVersion }}
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
<el-form-item label="产品编号" prop="productCode">
|
|
<el-form-item label="产品编号" prop="productCode">
|
|
<el-input v-model="formLabelAlign.productCode" />
|
|
<el-input v-model="formLabelAlign.productCode" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -541,15 +619,15 @@ const cancelMsgType5 = () => {
|
|
<el-scrollbar class="content-B-height-4" v-if="testingWSData">
|
|
<el-scrollbar class="content-B-height-4" v-if="testingWSData">
|
|
<div v-for="(proName, index) in Object.keys(testingWSData)">
|
|
<div v-for="(proName, index) in Object.keys(testingWSData)">
|
|
<div class="cssj-tit">项目名称: {{ proName }}</div>
|
|
<div class="cssj-tit">项目名称: {{ proName }}</div>
|
|
- <div
|
|
|
|
- v-for="(data, index) in testingWSData[proName]"
|
|
|
|
- :key="index"
|
|
|
|
- class="cssj-row-flex"
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ :data="testingWSData[proName]"
|
|
|
|
+ show-overflow-tooltip
|
|
|
|
+ :show-header="false"
|
|
>
|
|
>
|
|
- <span>{{ index }}</span>
|
|
|
|
- <span>{{ data?.dataItem }}</span>
|
|
|
|
- <span>{{ data?.dataContent }}</span>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-table-column type="index" width="55" />
|
|
|
|
+ <el-table-column property="dataItem" width="160" />
|
|
|
|
+ <el-table-column property="dataContent" />
|
|
|
|
+ </el-table>
|
|
</div>
|
|
</div>
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
</div>
|
|
</div>
|
|
@@ -568,11 +646,12 @@ const cancelMsgType5 = () => {
|
|
</div>
|
|
</div>
|
|
<div class="center">
|
|
<div class="center">
|
|
<div class="center-item">
|
|
<div class="center-item">
|
|
- <div class="center-num">10</div>
|
|
|
|
|
|
+ <div class="center-num">{{ statisticsData?.todayTestNum }}</div>
|
|
<div class="center-tit">今日检测产品数量</div>
|
|
<div class="center-tit">今日检测产品数量</div>
|
|
</div>
|
|
</div>
|
|
<div class="center-item">
|
|
<div class="center-item">
|
|
- <div class="center-num">10</div>
|
|
|
|
|
|
+ <div class="center-num">{{ statisticsData?.hisTestNum }}</div>
|
|
|
|
+
|
|
<div class="center-tit">历史检测产品数量</div>
|
|
<div class="center-tit">历史检测产品数量</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -580,7 +659,7 @@ const cancelMsgType5 = () => {
|
|
<!-- <el-button type="primary" @click="handleWSMessage"-->
|
|
<!-- <el-button type="primary" @click="handleWSMessage"-->
|
|
<!-- >测试假数据</el-button-->
|
|
<!-- >测试假数据</el-button-->
|
|
<!-- >-->
|
|
<!-- >-->
|
|
- <div>已用时:300s</div>
|
|
|
|
|
|
+ <div class="used-time" v-if="isTesting">已用时:{{ usedTime }}s</div>
|
|
<!-- <div class="test-btn progress" @click="startToRunTest">-->
|
|
<!-- <div class="test-btn progress" @click="startToRunTest">-->
|
|
<!-- <svg-icon icon-class="start-test" />-->
|
|
<!-- <svg-icon icon-class="start-test" />-->
|
|
<!-- 开始测试-->
|
|
<!-- 开始测试-->
|
|
@@ -1014,6 +1093,10 @@ $color-progress: #3cbaff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.used-time {
|
|
|
|
+ margin-right: 20px;
|
|
|
|
+}
|
|
|
|
+
|
|
.content-B-height-2 {
|
|
.content-B-height-2 {
|
|
height: calc(100vh - $main-header-height - 300px - 64px - 228px);
|
|
height: calc(100vh - $main-header-height - 300px - 64px - 228px);
|
|
}
|
|
}
|