检测计划表格误差体系,检测源跳转

This commit is contained in:
sjl
2024-12-12 11:38:42 +08:00
parent 726f7841e8
commit 8bd5351d29
7 changed files with 117 additions and 149 deletions

View File

@@ -1,39 +1,53 @@
<template>
<div class="device-list-container" v-if="isShow">
<el-dropdown @command="handleCommand">
<el-dropdown>
<el-link link type='primary' class='table-operate'>
<div class='table-operate-text'>更多...</div>
<div>更多...</div>
</el-link>
<!-- <span class="el-dropdown-link">
更多<el-icon class="el-icon--right"><arrow-down /></el-icon>
</span> -->
<template #dropdown>
<el-dropdown-menu>
<!-- <el-dropdown-item command="高精度设备-PQV520-2">高精度设备-PQV-520便携式电能质量监测装置-2</el-dropdown-item>
<el-dropdown-item command="高精度设备-PQV520-3">高精度设备-PQV-520便携式电能质量监测装置-3</el-dropdown-item>
<el-dropdown-item command="高精度设备-PQV520-4">高精度设备-PQV-520便携式电能质量监测装置-4</el-dropdown-item> -->
<el-dropdown-item v-for="(name, index) in props.sourceNames" :key="index" @click="handleSourceClick(index)">
<el-link link type="primary">{{ name }}</el-link>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
/>
</div>
</template>
<script lang="ts" setup>
const props = defineProps<{
isShow: boolean;
}>();
<script lang="ts" setup>
const handleCommand = (command: string | number | object) => {
const props = defineProps({
isShow: {
type: Boolean,
},
sourceNames: {
type: Array as () => string[],
},
sourceIds: {
type: Array as () => string[],
}
});
const emit = defineEmits<{
(e: 'source-clicked', id: string): void;
}>();
const handleSourceClick = (index: number) => {
if (props.sourceIds && props.sourceIds[index]) {
emit('source-clicked', props.sourceIds[index]);
} else {
console.log('sourceIds is undefined or the index is out of bounds');
}
};
</script>
<style scoped>
.example-showcase .el-dropdown-link {
cursor: pointer;
color: var(--el-button-text-color);
.device-list-container {
display: flex;
justify-content: center;
align-items: center;
margin-left: 10px; /* 调整这个值以达到所需的效果 */
}
</style>

View File

@@ -166,10 +166,10 @@
const formRuleRef = ref<FormInstance>()
const rules: Ref<Record<string, Array<FormItemRule>>> = ref({
name: [{ required: true, message: '检测计划名称必填!', trigger: 'blur' }],
source_Id: [{ required: true, message: '检测源必选!', trigger: 'blur' }],
dataSource_Id: [{ required: true, message: '数据源必选!', trigger: 'blur' }],
script_Id: [{ required: true, message: '检测脚本必选!', trigger: 'blur' }],
error_Sys_Id: [{ required: true, message: '误差体系必选!', trigger: 'blur' }],
sourceIds: [{ required: true, message: '检测源必选!', trigger: 'blur' }],
datasourceIds: [{ required: true, message: '数据源必选!', trigger: 'blur' }],
scriptId: [{ required: true, message: '检测脚本必选!', trigger: 'blur' }],
errorSysId: [{ required: true, message: '误差体系必选!', trigger: 'blur' }],
});
// 关闭弹窗
@@ -239,11 +239,11 @@ const open = async (sign: string,
// 重置表单
dialogFormRef.value?.resetFields()
if(sign == 'add')
if(sign == 'add')
{
const pqDevList_Result = await getUnboundPqDevList(data);
pqDevList.value = pqDevList_Result.data as Device.ResPqDev[];
}else{
}else{//编辑时先给表单赋值(这会没接收被检设备),需要手动再给被检设备复制后整体表单赋值
const boundPqDevList_Result = await getBoundPqDevList({ 'planId': data.id });
const unboundPqDevList_Result = await getUnboundPqDevList(data);
@@ -256,8 +256,11 @@ const open = async (sign: string,
Object.assign(formContent,{ ...data })
}
const sourceArray1 = Array.isArray(pqSourceList.value) ? pqSourceList.value : []
pqToArray();//将对象转为数组
}
function pqToArray() {
const sourceArray1 = Array.isArray(pqSourceList.value) ? pqSourceList.value : []
// 将 pqSource_Result 转换成 { label, value } 数组
pqSourceArray.value = sourceArray1.map(item => ({
label: item.name || '',
@@ -281,7 +284,6 @@ const open = async (sign: string,
label: item.name,
value: item.id
}))
}
const dataSourceType = computed(() => {
@@ -302,6 +304,8 @@ defineExpose({ open })
const props = defineProps<{
refreshTable: (() => Promise<void>) | undefined;
}>()
</script>
<style scoped lang="scss">