<!-- 第9套:频谱分析仪标准装置 --> <script lang="ts" setup name="TemplateDetailNinth"> import { ElMessage } from 'element-plus' import type { IList } from './templateDetail-interface' import templateTable from './templateTable.vue' 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 tableLoading = ref(false) const frequencyList = ref<IList[]>([]) // 频率显示 const sweepWidthList = ref<IList[]>([]) // 扫频宽度 const intermediateFrequencyBandwidthList = ref<IList[]>([]) // 中频带宽 const transitionDeviationList = ref<IList[]>([]) // 中频带宽转换偏差 const referenceElectricalLevelList = ref<IList[]>([]) // 参考电平 const verticalGraduatedList = ref<IList[]>([]) // 垂直刻度(显示位置从上到下) const inputFrequencyResponseList = ref<IList[]>([]) // 输入频响 const averageNoiseLevelList = ref<IList[]>([]) // 平均噪声电平 const harmonicDistortionList = ref<IList[]>([]) // 谐波失真 const inputAttenuatorList = ref<IList[]>([]) // 输入衰减 const gainCompressionPointList = ref<IList[]>([]) // 1dB增益压缩点 const frequencyCheckoutList = ref<IList[]>([]) // 频率显示多选 const sweepWidthCheckoutList = ref<IList[]>([]) // 扫频宽度多选 const intermediateFrequencyBandwidthCheckoutList = ref<IList[]>([]) // 中频带宽多选 const transitionDeviationCheckoutList = ref<IList[]>([]) // 中频带宽转换偏差多选 const referenceElectricalLevelCheckoutList = ref<IList[]>([]) // 参考电平多选 const verticalGraduatedCheckoutList = ref<IList[]>([]) // 垂直刻度(显示位置从上到下)多选 const inputFrequencyResponseCheckoutList = ref<IList[]>([]) // 输入频响多选 const averageNoiseLevelCheckoutList = ref<IList[]>([]) // 平均噪声电平多选 const harmonicDistortionCheckoutList = ref<IList[]>([]) // 谐波失真 const inputAttenuatorCheckoutList = ref<IList[]>([]) // 输入衰减多选 const gainCompressionPointCheckoutList = ref<IList[]>([]) // 1dB增益压缩点多选 // ----------------------------------------表头------------------------------------------------ const columns_frequency = 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: 'minimumAllowFactorA', align: 'center', required: true }, { text: '水平分辨率单位', value: 'maximumAllowFactorB', align: 'center', required: true }, { text: '分辨率带宽', value: 'minimumAllowValue', align: 'center', required: false }, { text: '分辨率带宽单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_sweep_width = 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: 'minimumAllowFactorA', align: 'center', required: true }, { text: '水平分辨率单位', value: 'maximumAllowFactorB', align: 'center', required: true }, { text: '频率', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_intermediate_frequency_bandwidth = 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: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_transition_deviation = 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: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, { text: '是否为参考点', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_reference_electrical_level = 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: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, { text: '是否为参考点', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_vertical_graduated = 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 }, { text: '信号源幅度单位', value: 'nominalValue', align: 'center', required: true }, { text: '垂直刻度', value: 'nominalValue', align: 'center', required: true }, { text: '频率', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_input_frequency_response = ref<TableColumn[]>([ // 输入频响 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '标称值', value: 'nominalValue', align: 'center', required: true }, { text: '频率', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, { text: '是否为参考点', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_average_noise_level = ref<TableColumn[]>([ // 平均噪声电平 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '起始频率', value: 'nominalValue', align: 'center', required: true }, { text: '起始频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '终止频率', value: 'maximumAllowValue', align: 'center', required: false }, { text: '终止频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '指标上限', value: 'maximumAllowValue', align: 'center', required: false }, { text: '指标上限单位', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_harmonic_distortion = ref<TableColumn[]>([ // 谐波失真 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'nominalValue', align: 'center', required: true }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '指标上限', value: 'maximumAllowValue', align: 'center', required: false }, { text: '指标上限单位', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_input_attenuator = ref<TableColumn[]>([ // 输入衰减 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '衰减器衰减量', value: 'nominalValue', align: 'center', required: true }, { text: '衰减器衰减量单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '输入衰减器', value: 'nominalValue', align: 'center', required: true }, { text: '输入衰减器单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频谱仪参考电平', value: 'nominalValue', align: 'center', required: true }, { text: '频谱仪参考电平单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率', value: 'nominalValue', align: 'center', required: true }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, { text: '是否为参考点', value: 'maximumAllowValue', align: 'center', required: false }, ]) const columns_gain_compression_point = ref<TableColumn[]>([ // 1dB增益压缩点 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '输入衰减器', value: 'nominalValue', align: 'center', required: true }, { text: '输入衰减器单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '参考电平', value: 'nominalValue', align: 'center', required: true }, { text: '参考电平单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '频率', value: 'nominalValue', align: 'center', required: true }, { text: '频率单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度', value: 'maximumAllowValue', align: 'center', required: false }, { text: '幅度单位', value: 'maximumAllowValue', align: 'center', required: false }, { text: '技术指标', value: 'maximumAllowValue', align: 'center', required: false }, ]) // --------------------------------表格操作--------------------------------------------------- // 多选 const handleSelectionChange = (e: any, type: string) => { switch (type) { case '频率显示': // 频率显示 frequencyCheckoutList.value = e break case '扫频宽度': // 扫描宽度 sweepWidthCheckoutList.value = e break case '中频带宽': // 中频带宽 intermediateFrequencyBandwidthCheckoutList.value = e break case '中频带宽转换偏差': // 中频带宽转换偏差 transitionDeviationCheckoutList.value = e break case '参考电平': // 参考电平 referenceElectricalLevelCheckoutList.value = e break case '垂直刻度': // 垂直刻度(显示位置从上到下) verticalGraduatedCheckoutList.value = e break case '输入频响': // 输入频响 inputFrequencyResponseCheckoutList.value = e break case '平均噪声电平': // 平均噪声电平 averageNoiseLevelCheckoutList.value = e break case '谐波失真': // 谐波失真 harmonicDistortionCheckoutList.value = e break case '输入衰减': // 输入衰减 inputAttenuatorCheckoutList.value = e break case '1dB增益压缩点': // 1dB增益压缩点 gainCompressionPointCheckoutList.value = e break } } /** * 增加行公共方法 * @param list 要操作的数组 * @param title 操作的表格 */ const addRow = (list: IList[], title: string) => { // if (checkList(list, `${title}表格`)) { // if (list.length) { // 增加行时默认上一行数据 // list.push({ // id: '', // checkPoint: list[list.length - 1].checkPoint, // 核查点(直接存字典value) // checkType: list[list.length - 1].checkType, // 核查类型 // cycleNumber: list[list.length - 1].cycleNumber, // 循环次数 // equipmentId: list[list.length - 1].equipmentId, // 配套设备id // itemCategoryId: list[list.length - 1].itemCategoryId, // 核查项分类id(能够确定是哪个标准装置) // params: list[list.length - 1].params, // 核查项目(直接存字典value) // remark: list[list.length - 1].remark, // 核查项备注(每个数据存储的核查项备注相同,前端取列表中一个即可) // resolution: list[list.length - 1].resolution, // 分辨力 // testType: list[list.length - 1].testType, // 核查点类型(直接存字典value) // unit: list[list.length - 1].unit, // 单位(直接存字典value) // urel: list[list.length - 1].urel, // 测量标准相对扩展不确定度urel // }) // } // else { // list.push({ // checkPoint: '', // 核查点 // checkType: '', // 核查类型(直接存字典value,多个逗号分隔) // cycleNumber: 6, // 循环次数 // equipmentId: infoId.value, // 配套设备id // itemCategoryId: form.value.itemCategoryId, // 核查项分类id(能够确定是哪个标准装置) // params: '', // 核查项目(直接存字典value) // remark: '', // 核查项备注 // resolution: 0.0001, // 分辨力 // testType: title, // 核查点类型(直接存字典value) // unit: '', // 单位(直接存字典value) // urel: 0, // 测量标准相对扩展不确定度urel // }) // } // } } /** * 删除行公共方法 * @param checkoutList 选中的数组 * @param list 操作的数组 */ const delRow = (checkoutList: IList[], list: IList[]) => { if (!checkoutList.length) { ElMessage.warning('请选中要删除的行') } else { list = list.filter((item: any) => { return !checkoutList.includes(item) }) } } // ---------------------------------------------校验--------------------------------------------------- // 校验表格(点击保存的时候用、生成标准器示值) const checkList = () => { // return useCheckList(list.value, columns.value, '检定项表格') } // ------------------------------------------------------------------------------------------------ // 点击计算结果--上方表格计算 const calculateDataTop = () => { } // 点击生成辅助接地电阻--下面表格计算 const calculateDataBottom = () => { } // ----------------------------------------------------------------------------------------------------- // 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> </div> <div style="padding: 0 10px;"> <el-checkbox v-model="form.plxs" :checked="true" :disabled="pageType === 'detail'"> 频率显示 </el-checkbox> <div style="display: flex;align-items: center;margin-bottom: 10px;"> <span style="white-space: nowrap;"> 技术指标:± ( 标称值 ×</span> <el-input-number v-model="form.pljvjd" :placeholder="pageType === 'detail' ? '' : '频率基准精度'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 180px !important;margin: 0 10px;" /> <span style="white-space: nowrap;"> + </span> <el-input-number v-model="form.sz" :placeholder="pageType === 'detail' ? '' : '数值(%)'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 140px;margin: 0 10px;" /> <span style="white-space: nowrap;"> × 扫频宽度 + </span> <el-input-number v-model="form.sz" :placeholder="pageType === 'detail' ? '' : '数值(%)'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 140px;margin: 0 10px;" /> <span style="white-space: nowrap;"> × 分辨率带宽 + </span> <el-input-number v-model="form.sz" :placeholder="pageType === 'detail' ? '' : '数值(Hz)'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 140px;margin: 0 10px;" /> <span style="white-space: nowrap;"> + </span> <el-input-number v-model="form.sz" :placeholder="pageType === 'detail' ? '' : '数值'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 140px;margin: 0 10px;" /> <span style="white-space: nowrap;"> × 水平分辨率) </span> </div> </div> <!-- 频率显示 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <block /> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(frequencyList, '频率显示')"> 增加行 </el-button> <el-button type="info" @click="delRow(frequencyCheckoutList, frequencyList)"> 删除行 </el-button> </div> </div> <template-table :data="frequencyList" :columns="columns_frequency" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '频率显示')" /> </detail-block> <div style="padding: 0 10px;"> <el-checkbox v-model="form.spkd" :checked="true" :disabled="pageType === 'detail'"> 扫频宽度 </el-checkbox> </div> <!-- 扫频宽度 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <div style="display: flex;align-items: center;margin-bottom: 10px;"> <span style="white-space: nowrap;"> 技术指标:± ( </span> <el-input-number v-model="form.sz" :placeholder="pageType === 'detail' ? '' : '数值(%)'" :disabled="pageType === 'detail'" :precision="4" :step="0.1" :min="0" style="width: 140px;margin: 0 10px;" /> <span style="white-space: nowrap;"> × 标称值 + 水平分辨率 )</span> </div> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(sweepWidthList, '扫频宽度')"> 增加行 </el-button> <el-button type="info" @click="delRow(sweepWidthCheckoutList, sweepWidthList)"> 删除行 </el-button> </div> </div> <template-table :data="sweepWidthList" :columns="columns_sweep_width" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '扫频宽度')" /> </detail-block> <!-- 中频带宽 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.zpdk" :checked="true" :disabled="pageType === 'detail'"> 中频带宽 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(intermediateFrequencyBandwidthList, '中频带宽')"> 增加行 </el-button> <el-button type="info" @click="delRow(intermediateFrequencyBandwidthCheckoutList, intermediateFrequencyBandwidthList)"> 删除行 </el-button> </div> </div> <template-table :data="intermediateFrequencyBandwidthList" :columns="columns_intermediate_frequency_bandwidth" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '中频带宽')" /> </detail-block> <!-- 中频带宽转换偏差 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.zpdkzhpc" :checked="true" :disabled="pageType === 'detail'"> 中频带宽转换偏差 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(transitionDeviationList, '中频带宽转换偏差')"> 增加行 </el-button> <el-button type="info" @click="delRow(transitionDeviationCheckoutList, transitionDeviationList)"> 删除行 </el-button> </div> </div> <template-table :data="transitionDeviationList" :columns="columns_transition_deviation" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '中频带宽转换偏差')" /> </detail-block> <!-- 参考电平 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.ckdp" :checked="true" :disabled="pageType === 'detail'"> 参考电平 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(referenceElectricalLevelList, '参考电平')"> 增加行 </el-button> <el-button type="info" @click="delRow(referenceElectricalLevelCheckoutList, referenceElectricalLevelList)"> 删除行 </el-button> </div> </div> <template-table :data="referenceElectricalLevelList" :columns="columns_reference_electrical_level" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '参考电平')" /> </detail-block> <!-- 垂直刻度(显示位置从上到下) --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.czkd" :checked="true" :disabled="pageType === 'detail'"> 垂直刻度(显示位置从上到下) </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(verticalGraduatedList, '垂直刻度')"> 增加行 </el-button> <el-button type="info" @click="delRow(verticalGraduatedCheckoutList, verticalGraduatedList)"> 删除行 </el-button> </div> </div> <template-table :data="verticalGraduatedList" :columns="columns_vertical_graduated" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '垂直刻度')" /> </detail-block> <!-- 输入频响 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.srpx" :checked="true" :disabled="pageType === 'detail'"> 输入频响 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(inputFrequencyResponseList, '输入频响')"> 增加行 </el-button> <el-button type="info" @click="delRow(inputFrequencyResponseCheckoutList, inputFrequencyResponseList)"> 删除行 </el-button> </div> </div> <template-table :data="inputFrequencyResponseList" :columns="columns_input_frequency_response" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '输入频响')" /> </detail-block> <!-- 平均噪声电平 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.pjzsdp" :checked="true" :disabled="pageType === 'detail'"> 平均噪声电平 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(averageNoiseLevelList, '平均噪声电平')"> 增加行 </el-button> <el-button type="info" @click="delRow(averageNoiseLevelCheckoutList, averageNoiseLevelList)"> 删除行 </el-button> </div> </div> <template-table :data="averageNoiseLevelList" :columns="columns_average_noise_level" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '平均噪声电平')" /> </detail-block> <!-- 谐波失真 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.xbsz" :checked="true" :disabled="pageType === 'detail'"> 谐波失真 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(harmonicDistortionList, '谐波失真')"> 增加行 </el-button> <el-button type="info" @click="delRow(harmonicDistortionCheckoutList, harmonicDistortionList)"> 删除行 </el-button> </div> </div> <template-table :data="harmonicDistortionList" :columns="columns_harmonic_distortion" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '谐波失真')" /> </detail-block> <!-- 输入衰减 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.srsj" :checked="true" :disabled="pageType === 'detail'"> 输入衰减 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(inputAttenuatorList, '输入衰减')"> 增加行 </el-button> <el-button type="info" @click="delRow(inputAttenuatorCheckoutList, inputAttenuatorList)"> 删除行 </el-button> </div> </div> <template-table :data="inputAttenuatorList" :columns="columns_input_attenuator" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '输入衰减')" /> </detail-block> <!-- 1dB增益压缩点 --> <detail-block title="" style="padding-bottom: 20px;"> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.zyysd" :checked="true" :disabled="pageType === 'detail'"> 1dB增益压缩点 </el-checkbox> <div v-if="pageType !== 'detail'" style="padding: 0 10px;padding-bottom: 10px;"> <el-button type="primary" @click="addRow(gainCompressionPointList, '1dB增益压缩点')"> 增加行 </el-button> <el-button type="info" @click="delRow(gainCompressionPointCheckoutList, gainCompressionPointList)"> 删除行 </el-button> </div> </div> <template-table :data="gainCompressionPointList" :columns="columns_gain_compression_point" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '1dB增益压缩点')" /> </detail-block> </template>