|
@@ -1,27 +1,15 @@
|
|
|
<template>
|
|
|
- <div class="stepsViewScroll">
|
|
|
- <div class="recordBox" v-for="(item, index) in equitListData" :key="index">
|
|
|
- <div class="headerText titleText">
|
|
|
- {{ dictS.getLableByValue("device_type", item.equitType) }}
|
|
|
- </div>
|
|
|
- <div class="describeBox">
|
|
|
- <div class="describeText">精度要求</div>
|
|
|
- <div class="describeText" style="color: black">
|
|
|
- {{ item.accuracy }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- 变量控制样式 -->
|
|
|
- <div class="select">
|
|
|
- <div class="describeText" style="width: 130px">绑定设备:</div>
|
|
|
+ <div >
|
|
|
+ <div class="recordBox">
|
|
|
|
|
|
+ <div class="select">
|
|
|
<el-select
|
|
|
- v-if="!item.equitCode"
|
|
|
multiple
|
|
|
- @click="getdevicelist(item.equitType, item)"
|
|
|
- v-model="item.inputValueVal"
|
|
|
- placeholder="选择固有设备请点击"
|
|
|
size="large"
|
|
|
- v-loading="item.loading"
|
|
|
+ style="width: 200px"
|
|
|
+ collapse-tags
|
|
|
+ v-model="selectValues"
|
|
|
+ placeholder="选择固有设备请点击"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
@@ -30,59 +18,67 @@
|
|
|
:value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- </div>
|
|
|
- <div class="selectBtn" v-if="!item.equitCode">
|
|
|
- <el-button
|
|
|
- class="btn"
|
|
|
- v-if="item.selectStatus"
|
|
|
- style="background-color: #0a59f7"
|
|
|
- @click="binding(item)"
|
|
|
- :disabled="item.scanStatus"
|
|
|
+ <div class="selectBtn" >
|
|
|
+ <el-button
|
|
|
+ class="btn"
|
|
|
+
|
|
|
+ style="background-color: #0a59f7"
|
|
|
+ @click="binding(item)"
|
|
|
+
|
|
|
>确认绑定</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- class="btn"
|
|
|
- v-if="item.selectStatus"
|
|
|
- type="info"
|
|
|
- @click="cancel(item)"
|
|
|
- :disabled="item.scanStatus"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ class="btn"
|
|
|
+
|
|
|
+ type="info"
|
|
|
+ @click="cancel(item)"
|
|
|
+
|
|
|
>取消</el-button
|
|
|
- >
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="footerBtn" v-if="!item.selectStatus">
|
|
|
+
|
|
|
+ <div class="footerBtn" >
|
|
|
<el-button
|
|
|
- v-if="!item.equitCode && !item.selectStatus"
|
|
|
+
|
|
|
class="bottomBtn"
|
|
|
style="background-color: #0a59f7"
|
|
|
- :disabled="item.selectStatus"
|
|
|
+
|
|
|
@click="openScanCode(index)"
|
|
|
>点击扫描其它设备</el-button
|
|
|
>
|
|
|
- <div v-if="item.equitCode" class="infoBox">
|
|
|
- <div class="info">
|
|
|
- <div>
|
|
|
- <div class="describeText" style="text-align: left">
|
|
|
- {{ item.equitName }}
|
|
|
- </div>
|
|
|
- <div class="describeText" style="text-align: left">
|
|
|
- {{ item.equitCode }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="info">
|
|
|
- <div></div>
|
|
|
- <div>
|
|
|
- <div class="describeText" style="text-align: right">
|
|
|
- 检定有效期
|
|
|
- </div>
|
|
|
- <div class="describeText" style="text-align: right">
|
|
|
- {{ item.validDate }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-table :data="equitListData" class="tableView-sbjl" >
|
|
|
+ <el-table-column
|
|
|
+
|
|
|
+ prop="equitCode"
|
|
|
+ label="设备编码"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+
|
|
|
+ prop="equitName"
|
|
|
+ label="设备名称"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ <el-table-column prop="created" label="创建时间" align="center" />
|
|
|
+ <el-table-column prop="validDate" label="设备有效期" align="center" />
|
|
|
+<!-- <el-table-column prop="flag" align="center" label="是否合格">-->
|
|
|
+<!-- <template #default="scope">-->
|
|
|
+<!-- <span-->
|
|
|
+<!-- :class="{-->
|
|
|
+<!-- 'red-text': scope.row.flag == 0,-->
|
|
|
+<!-- 'green-text': scope.row.writeData == 1,-->
|
|
|
+<!-- }"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- {{ scope.row.flag == 1 ? "合格" : "不合格" }}-->
|
|
|
+<!-- </span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+
|
|
|
+
|
|
|
+ </el-table>
|
|
|
<div
|
|
|
style="
|
|
|
height: 100%;
|
|
@@ -118,12 +114,13 @@ import { useDictionaryStore } from "@/store";
|
|
|
|
|
|
const dictS = useDictionaryStore();
|
|
|
const selectStatus = ref(false);
|
|
|
-const scanStatus = ref(false);
|
|
|
+
|
|
|
+const selectValues = ref([])
|
|
|
const binding = async (item: any) => {
|
|
|
try {
|
|
|
const { data } = await batchDevice({
|
|
|
- deviceNoList: item.inputValueVal,
|
|
|
- recordId: item.id,
|
|
|
+ deviceNoList: selectValues.value,
|
|
|
+ processId: store.scanInfo.id,
|
|
|
});
|
|
|
ElMessage.success("绑定成功!");
|
|
|
getEquitList();
|
|
@@ -133,28 +130,16 @@ const binding = async (item: any) => {
|
|
|
}
|
|
|
};
|
|
|
const cancel = (item: any) => {
|
|
|
- item.selectStatus = false;
|
|
|
- item.inputValueVal = [];
|
|
|
+
|
|
|
+ selectValues.value = []
|
|
|
};
|
|
|
-const selectLoading = ref(false);
|
|
|
+
|
|
|
const store = useProcessStore();
|
|
|
const equitListData = ref([]);
|
|
|
const selectIndex = ref(null);
|
|
|
-const getdevicelist = async (type: any, item: any) => {
|
|
|
- item.selectStatus = true;
|
|
|
- item.loading = true;
|
|
|
- try {
|
|
|
- const { data } = await devicelist({ deviceType: type });
|
|
|
- option.value = data;
|
|
|
- } catch {
|
|
|
- } finally {
|
|
|
- item.loading = false;
|
|
|
- }
|
|
|
-};
|
|
|
+
|
|
|
const getEquitList = async () => {
|
|
|
const { data } = await equitList({
|
|
|
- seqNo: store.scanInfo.seqNo,
|
|
|
- operationId: store.odersData.operationId,
|
|
|
processId: store.scanInfo.id,
|
|
|
pageSize: 9999,
|
|
|
pageNo: 1,
|
|
@@ -184,7 +169,7 @@ const openScanCode = (index) => {
|
|
|
const scanCode = async () => {
|
|
|
const { data, code } = await queryByCode({
|
|
|
deviceNo: inputValueVal.value,
|
|
|
- recordId: equitListData.value[selectIndex.value].id,
|
|
|
+ processId: store.scanInfo.id,
|
|
|
});
|
|
|
if (code == "200") {
|
|
|
ElMessage.success("绑定成功!");
|
|
@@ -193,8 +178,11 @@ const scanCode = async () => {
|
|
|
showStatusVal.value = false;
|
|
|
}
|
|
|
};
|
|
|
-onMounted(() => {
|
|
|
+onMounted(async () => {
|
|
|
getEquitList();
|
|
|
+
|
|
|
+ const { data } = await devicelist();
|
|
|
+ option.value = data;
|
|
|
});
|
|
|
</script>
|
|
|
|
|
@@ -204,11 +192,11 @@ onMounted(() => {
|
|
|
background-color: white;
|
|
|
border-radius: 16px;
|
|
|
display: flex;
|
|
|
- padding: $p20;
|
|
|
- flex-direction: column;
|
|
|
+ padding: 5px;
|
|
|
justify-content: space-between;
|
|
|
.select {
|
|
|
display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
align-items: center;
|
|
|
padding: 0 5px;
|
|
|
}
|
|
@@ -219,25 +207,24 @@ onMounted(() => {
|
|
|
}
|
|
|
.selectBtn {
|
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
+ justify-content: start;
|
|
|
align-items: center;
|
|
|
- margin-top: 10px;
|
|
|
.btn {
|
|
|
width: 150px;
|
|
|
color: white;
|
|
|
- height: 50px;
|
|
|
+ height: 40px;
|
|
|
border-radius: 16px;
|
|
|
font-size: $f20;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.footerBtn {
|
|
|
- width: 100%;
|
|
|
+ width: 300px;
|
|
|
background-color: #00000015;
|
|
|
border-radius: 16px;
|
|
|
overflow: hidden;
|
|
|
- height: 50px;
|
|
|
- margin-top: 10px;
|
|
|
+ height: 40px;
|
|
|
+
|
|
|
|
|
|
.bottomBtn {
|
|
|
width: 100%;
|
|
@@ -273,5 +260,15 @@ onMounted(() => {
|
|
|
}
|
|
|
|
|
|
//描述样式
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+.tableView-sbjl {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100vh - 335px);
|
|
|
+ padding: 20px 0px;
|
|
|
+ border-radius: 16px;
|
|
|
+ margin-top: 10px;
|
|
|
+
|
|
|
}
|
|
|
</style>
|