lis8.0-vue3/src/views/liswork/labItem/tab/CommonlyValues.vue

105 lines
2.9 KiB
Vue
Raw Normal View History

2025-10-21 17:43:57 +08:00
<!-- 常用取值 -->
<template>
2025-11-04 17:54:29 +08:00
<div>
2025-10-28 16:22:44 +08:00
<div class="modifyClass">
2025-11-07 17:50:06 +08:00
<el-button type="primary" @click="bClickAdd">增加</el-button>
<el-button type="primary" @click="bClickDel">删除</el-button>
2025-10-28 16:22:44 +08:00
</div>
<CustomTable ref="tableRef" :data="dataList" :columns="columns" :enable-column-drag="true" @column-drag-end="handleColumnDragEnd"
2025-11-14 09:09:33 +08:00
:config="tableConfig" @row-click="handRowClick">
2025-11-07 17:50:06 +08:00
<template #qz>
2025-11-17 09:35:56 +08:00
<el-select v-model="qzValue" clearable allow-create filterable default-first-option>
<el-option v-for="item in qzOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
2025-11-07 17:50:06 +08:00
</el-select>
2025-11-17 09:35:56 +08:00
</template>
<template #jgbz>
<el-select v-model="jgbzValue" clearable>
<el-option v-for="item in jgbzOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</template>
<template #srm>
<el-input v-model="srmValue" class="full-width-input"></el-input>
</template>
2025-11-07 17:50:06 +08:00
</CustomTable>
2025-10-28 16:22:44 +08:00
</div>
2025-10-21 17:43:57 +08:00
</template>
2025-10-24 15:37:24 +08:00
<script setup lang="ts">
2025-10-28 16:22:44 +08:00
import CustomTable from '@/components/elTable/index.vue'
2025-11-07 17:50:06 +08:00
import { dictData,getDictData } from '@/hooks';
2025-11-17 09:35:56 +08:00
import { DictData, XmValNew } from '@/types';
2025-11-14 09:09:33 +08:00
import { ElMessageBox } from 'element-plus';
2025-10-21 17:43:57 +08:00
const props = defineProps({
2025-11-14 09:09:33 +08:00
dataList: {
type: Object,
default: []
},
2025-11-07 17:50:06 +08:00
formData: {
type: Object,
default: {}
}
2025-10-21 17:43:57 +08:00
});
2025-10-28 16:22:44 +08:00
const tableRef = ref<any>(null);
2025-11-17 09:35:56 +08:00
const dataList = ref<Array<XmValNew>>([]);
2025-10-28 16:22:44 +08:00
const columns = ref([
2025-11-07 17:50:06 +08:00
{ prop: 'qz', label: '取值', visible: true, align: 'center', slot:'qz', width: 200 },
2025-11-17 09:35:56 +08:00
{ prop: 'srm', label: '快速输入码', visible: true, align: 'center',slot: 'srm', width: 100 },
{ prop: 'jgbz', label: '结果标志', visible: true, align: 'center', slot: 'jgbz', width: 100 }
2025-10-28 16:22:44 +08:00
]);
const tableConfig = ref({
border: true, // 边框
height: '80vh', // 高度
highlightCurrentRow: true, // 高亮当前行
// cellStyle: cellStyleHd
})
2025-11-17 09:35:56 +08:00
const qzOptions = ref()
const qzValue = ref()
2025-11-14 09:09:33 +08:00
const selectRow = ref()
2025-11-17 09:35:56 +08:00
const jgbzValue = ref()
const jgbzOptions = ref()
const srmValue = ref()
2025-10-28 16:22:44 +08:00
//退拽属性
const handleColumnDragEnd = (data: any) => {
// 更新列配置
columns.value = data.columns;
}
2025-11-07 17:50:06 +08:00
const bClickAdd = () => {
const newData: XmValNew = {
xmid: props.formData.xmid,
2025-11-17 09:35:56 +08:00
qz: qzValue.value,
2025-11-14 09:09:33 +08:00
srm: '',
jgbz: ''
2025-11-07 17:50:06 +08:00
}
2025-11-14 09:09:33 +08:00
dataList.value?.push(newData);
2025-11-17 09:35:56 +08:00
2025-11-14 09:09:33 +08:00
}
2025-11-07 17:50:06 +08:00
2025-11-14 09:09:33 +08:00
const bClickDel = async () => {
await ElMessageBox.confirm('是否要删除选中的数据?','Warning',
{
confirmButtonText: 'OK',
cancelButtonText: 'Cancel',
type: 'warning',
}
);
//删掉界面上面的数据
dataList.value = dataList.value?.filter(item => item.xh != selectRow.value.xh );
2025-11-07 17:50:06 +08:00
}
2025-11-14 09:09:33 +08:00
const handRowClick = (row:any) => {
selectRow.value = row
2025-11-07 17:50:06 +08:00
}
2025-11-17 09:35:56 +08:00
onActivated(async ()=>{
2025-11-07 17:50:06 +08:00
//默认取值
2025-11-17 09:35:56 +08:00
await getDictData('VA','LF')
qzOptions.value = dictData.value.VA
jgbzOptions.value = dictData.value.LF
2025-11-07 17:50:06 +08:00
})
2025-10-28 16:22:44 +08:00
2025-10-21 17:43:57 +08:00
</script>