<!-- 第7套:精密露点仪标准装置标准装置 --> <script lang="ts" setup name="TemplateDetailSeventh"> import { ElMessage } from 'element-plus' import type { IList } from './templateDetail-interface' import type { dictType } from '@/global' import { getDictByCode } from '@/api/system/dict' import { calc } from '@/utils/useCalc' import { useCheckList } from '@/commonMethods/useCheckList' import { calculate, recalculate } from '@/api/business/measure/caculate' import type { TableColumn } from '@/components/NormalTable/table_interface' const props = defineProps({ pageType: { type: String, default: 'add', }, itemCategoryName: { type: String, require: true, }, // 设备检定项分类名称 belongStandardEquipment: { // 检校标准装置code type: String, require: true, }, list: { type: Array as any, }, form: { // 检定项表单 type: Object as any, }, itemId: { // 检定项id type: String, default: '', }, }) const list = ref<IList[]>([]) const checkoutList = ref<IList[]>([]) // 多选 // ------------------------------------------表头------------------------------------------------------------- const columns = ref([]) as any // 表头数据 const columns_mechanical = ref<TableColumn[]>([ // 机械式温湿度仪表 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '类型', value: 'nominalValue', align: 'center', required: true }, { text: '温度点/湿度点', value: 'nominalValue', align: 'center', required: true }, { text: '单位', value: 'nominalValue', align: 'center', required: true }, { text: '最大允许误差', value: 'nominalValue', align: 'center', required: true }, ]) const columns_digital = ref<TableColumn[]>([ // 数字式/外置探头式温湿度仪表 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '类型', value: 'nominalValue', align: 'center', required: true }, { text: '温度点/湿度点', value: 'nominalValue', align: 'center', required: true }, { text: '单位', value: 'nominalValue', align: 'center', required: true }, { text: '不确定度', value: 'nominalValue', align: 'center', required: true }, { text: '最大允许误差', value: 'nominalValue', align: 'center', required: true }, ]) // --------------------------------------------表格方法----------------------------------------------- // 多选 const handleSelectionChange = () => { } // ---------------------------------------------校验--------------------------------------------------- // 校验表格(点击保存的时候用、生成标准器示值) const checkList = () => { // return useCheckList(list.value, columns.value, '检定项表格') } // --------------------------------------------钩子---------------------------------------------------- watch(() => props.itemCategoryName, (newValue) => { if (newValue) { switch (newValue) { case '机械式温湿度仪表': columns.value = columns_mechanical.value break case '数字式/外置探头式温湿度仪表': columns.value = columns_digital.value break } } }, { immediate: true }) watch(() => props.list, (newVal) => { // 检定项表格 if (newVal) { list.value = [...newVal] } }) defineExpose({ list }) </script> <template> <div style="padding: 0 10px;"> <el-checkbox v-model="form.appearance" :checked="true" :disabled="pageType === 'detail'"> 外观检查 </el-checkbox> <el-checkbox v-model="form.zszl" :checked="true" :disabled="pageType === 'detail'"> 示值测试 </el-checkbox> <detail-block title=" "> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary"> 增加行 </el-button> <el-button type="info"> 删除行 </el-button> </template> <el-table :data="list" border style="width: 100%;" @selection-change="handleSelectionChange" > <el-table-column v-if="pageType !== 'detail'" type="selection" width="38" /> <el-table-column align="center" label="序号" width="80" type="index" /> <el-table-column v-for="item in columns" :key="item.value" :prop="item.value" :label="item.text" :width="item.width" align="center" > <template #header> <span v-show="item.required" style="color: red;">*</span><span>{{ item.text }}</span> </template> </el-table-column> </el-table> </detail-block> </div> </template>