<!-- 第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>