<!-- 第13套:示波器检定装置装置 --> <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 form = ref({ methodType: '方法一', // 时基的方法 }) const tableLoading = ref(false) const timeBaseList = ref<IList[]>([]) // 时基 const zeroFrequencyGainList = ref<IList[]>([]) // 直流增益 const DCBiasList = ref<IList[]>([]) // 直流偏置 const frequencyBandwidthList = ref<IList[]>([]) // 频带宽度(数字示波器) const triggerSensitivityList = ref<IList[]>([]) // 触发灵敏度 const risetimeList = ref<IList[]>([]) // 上升时间(数字示波器) const inputResistanceList = ref<IList[]>([]) // 输入电阻(数字示波器) const calibratingSignalList = ref<IList[]>([]) // 校准信号(数字示波器) const scanningTimeList = ref<IList[]>([]) // 扫描时间系数及扩展 const verticalSizeList = ref<IList[]>([]) // 垂直幅度 const frequencyBandwidthSimulateList = ref<IList[]>([]) // 频带宽度(模拟示波器) const triggerCharacteristicList = ref<IList[]>([]) // 触发特性 const inputResistanceSimulateList = ref<IList[]>([]) // 输入电阻(模拟示波器) const risetimeSimulateList = ref<IList[]>([]) // 上升时间(模拟示波器) const calibratingSignalSimulateList = ref<IList[]>([]) // 校准信号(模拟示波器) const timeBaseCheckoutList = ref<IList[]>([]) // 时基多选 const zeroFrequencyGainCheckoutList = ref<IList[]>([]) // 直流增益多选 const DCBiasCheckoutList = ref<IList[]>([]) // 直流偏置多选 const frequencyBandwidthCheckoutList = ref<IList[]>([]) // 频带宽度(数字示波器)多选 const triggerSensitivityCheckoutList = ref<IList[]>([]) // 触发灵敏度多选 const risetimeCheckoutList = ref<IList[]>([]) // 上升时间(数字示波器)多选 const inputResistanceCheckoutList = ref<IList[]>([]) // 输入电阻(数字示波器)多选 const calibratingSignalCheckoutList = ref<IList[]>([]) // 校准信号(数字示波器)多选 const scanningTimeCheckoutList = ref<IList[]>([]) // 扫描时间系数及扩展多选 const verticalSizeCheckoutList = ref<IList[]>([]) // 垂直幅度多选 const frequencyBandwidthSimulateCheckoutList = ref<IList[]>([]) // 频带宽度(模拟示波器)多选 const triggerCharacteristicCheckoutList = ref<IList[]>([]) // 触发特性多选 const inputResistanceSimulateCheckoutList = ref<IList[]>([]) // 输入电阻(模拟示波器) const risetimeSimulateCheckoutList = ref<IList[]>([]) // 上升时间(模拟示波器) const calibratingSignalSimulateCheckoutList = ref<IList[]>([]) // 校准信号(模拟示波器) // ----------------------------------------表头------------------------------------------------ const columns_time_base_method1 = ref<TableColumn[]>([ // 时基 --方法一 { text: '检定项目', value: 'params', align: 'center', required: true, width: 90 }, { text: '周期时标信号', value: 'cycleSignal', align: 'center', required: true }, { text: '周期时标信号单位', value: 'cycleSignalUnit', align: 'center', required: true }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 300 }, ]) const columns_time_base_method2 = ref<TableColumn[]>([ // 时基 --方法二 { text: '检定项目', value: 'params', align: 'center', required: true, width: 90 }, { text: '参考输出', value: 'cycleSignal', align: 'center', required: true }, { text: '参考输出单位', value: 'cycleSignalUnit', align: 'center', required: true }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 300 }, ]) const columns_zero_frequency_gain = ref<TableColumn[]>([ // 直流增益 { text: '检定项目', value: 'params', align: 'center', required: true, width: 90 }, { text: '阻抗', value: 'impedance', align: 'center', required: true, width: 180 }, { text: '阻抗单位', value: 'impedanceUnit', align: 'center', required: true, width: 90 }, { text: '通道', value: 'thoroughfare', align: 'center', required: true, width: 100 }, { text: '垂直偏转系数(/div)', value: 'verticalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '垂直偏转系数(/div)单位', value: 'verticalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '标准值', value: 'standardValue', align: 'center', required: true, width: 180 }, { text: '标准值单位', value: 'standardValueUnit', align: 'center', required: true, width: 100 }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 340 }, ]) const columns_frequency_bandwidth = ref<TableColumn[]>([ // 频带宽度 { text: '检定项目', value: 'params', align: 'center', required: true, width: 90 }, { text: '阻抗', value: 'impedance', align: 'center', required: true, width: 180 }, { text: '阻抗单位', value: 'impedanceUnit', align: 'center', required: true, width: 90 }, { text: '通道', value: 'thoroughfare', align: 'center', required: true, width: 100 }, { text: '垂直偏转系数(/div)', value: 'verticalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '垂直偏转系数(/div)单位', value: 'verticalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '水平偏转系数', value: 'horizontalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '水平偏转系数单位', value: 'horizontalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '参考点频率', value: 'referencePointFrequency', align: 'center', required: true, width: 180 }, { text: '参考点频率单位', value: 'referencePointFrequencyUnit', align: 'center', required: true, width: 100 }, { text: '频带宽度', value: 'bandWidth', align: 'center', required: true, width: 180 }, { text: '频带宽度单位', value: 'bandWidthUnit', align: 'center', required: true, width: 100 }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 300 }, ]) const columns_trigger_sensitivity = ref<TableColumn[]>([ // 触发灵敏度 { text: '检定项目', value: 'params', align: 'center', required: true, width: 110 }, { text: '通道', value: 'thoroughfare', align: 'center', required: true, width: 100 }, { text: '触发类型', value: 'triggerType', align: 'center', required: true, width: 120 }, { text: '信号频率', value: 'signalFrequency', align: 'center', required: true, width: 180 }, { text: '信号频率单位', value: 'signalFrequencyUnit', align: 'center', required: true, width: 100 }, { text: '垂直偏转系数(/div)', value: 'verticalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '垂直偏转系数(/div)单位', value: 'verticalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '标称值', value: 'nominalValue', align: 'center', required: true, width: 180 }, { text: '标称值单位', value: 'nominalValueUnit', align: 'center', required: true, width: 100 }, ]) const columns_risetime = ref<TableColumn[]>([ // 上升时间(数字示波器) { text: '检定项目', value: 'params', align: 'center', required: true, width: 90 }, { text: '阻抗', value: 'impedance', align: 'center', required: true, width: 180 }, { text: '阻抗单位', value: 'impedanceUnit', align: 'center', required: true, width: 100 }, { text: '通道', value: 'thoroughfare', align: 'center', required: true, width: 100 }, { text: '垂直偏转系数(/div)', value: 'verticalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '垂直偏转系数(/div)单位', value: 'verticalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '幅度', value: 'amplitude', align: 'center', required: true, width: 180 }, { text: '幅度单位', value: 'amplitudeUnit', align: 'center', required: true, width: 100 }, { text: '水平偏转系数', value: 'horizontalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '水平偏转系数单位', value: 'horizontalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 340 }, ]) const columns_input_resistance = ref<TableColumn[]>([ // 输入电阻(数字示波器) { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '通道', value: 'thoroughfare', align: 'center', required: true, width: 100 }, { text: '标准值', value: 'standardValue', align: 'center', required: true, width: 180 }, { text: '标准值单位', value: 'standardValueUnit', align: 'center', required: true, width: 100 }, { text: '垂直偏转系数(/div)', value: 'verticalDeflectCoefficient', align: 'center', required: true, width: 180 }, { text: '垂直偏转系数(/div)单位', value: 'verticalDeflectCoefficientUnit', align: 'center', required: true, width: 100 }, { text: '技术指标', value: 'technicalIndex', align: 'center', required: true, width: 300 }, ]) const columns_calibrating_signal = 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 }, ]) const columns_scan_time = 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: 'nominalValue', align: 'center', required: true }, { text: '技术指标', value: 'nominalValue', align: 'center', required: true }, ]) const columns_vertical_size = 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: '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_trigger_characteristic = 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: '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_input_resistance_simulate = 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_risetime_simulate = 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: '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_calibrating_signal_simulate = 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: 'nominalValue', align: 'center', required: true }, ]) // --------------------------------表格操作--------------------------------------------------- // 多选 const handleSelectionChange = (e: any, type: string) => { switch (type) { case '时基': timeBaseCheckoutList.value = e break case '直流增益': zeroFrequencyGainCheckoutList.value = e break case '直流偏置': DCBiasCheckoutList.value = e break case '频带宽度(数字示波器)': frequencyBandwidthCheckoutList.value = e break case '触发灵敏度': triggerSensitivityCheckoutList.value = e break case '上升时间(数字示波器)': risetimeCheckoutList.value = e break case '输入电阻(数字示波器)': inputResistanceCheckoutList.value = e break case '校准信号(数字示波器)': calibratingSignalCheckoutList.value = e break case '扫描时间系数及扩展': scanningTimeCheckoutList.value = e break case '垂直幅度': verticalSizeCheckoutList.value = e break case '频带宽度(模拟示波器)': frequencyBandwidthSimulateCheckoutList.value = e break case '触发特性': triggerCharacteristicCheckoutList.value = e break case '输入电阻(模拟示波器)': inputResistanceSimulateCheckoutList.value = e break case '上升时间(模拟示波器)': risetimeSimulateCheckoutList.value = e break case '校准信号(模拟示波器)': calibratingSignalSimulateCheckoutList.value = e break } } /** * 增加行公共方法 * @param list 要操作的数组 * @param title 操作的表格 */ const addRow = (list: IList[], title: string) => { // if (checkList(list, `${title}表格`)) { if (list.length) { // 增加行时默认上一行数据 list.push({ ...list[list.length - 1] }) } // 数字示波器 else if (props.itemCategoryName === '数字示波器') { switch (title) { case '时基': list.push({ id: '', // id,更新/删除使用参数 dataType: '1', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 cycleSignal: '', // 周期时标信号 cycleSignalUnit: '', // 周期时标信号单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: 'ppm', // 技术指标单位 }) break case '直流增益': list.push({ id: '', // id,更新/删除使用参数 dataType: '2', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 impedance: '', // 阻抗 impedanceUnit: 'Ω', // 阻抗单位 thoroughfare: 'CH1', // 通道 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 standardValue: '', // 标准值 standardValueUnit: 'V', // 标准值单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: '%', // 技术指标单位 }) break case '直流偏置': list.push({ id: '', // id,更新/删除使用参数 dataType: '3', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 impedance: '', // 阻抗 impedanceUnit: 'Ω', // 阻抗单位 thoroughfare: 'CH1', // 通道 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 standardValue: '', // 标准值 standardValueUnit: 'V', // 标准值单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: '%', // 技术指标单位 }) break case '频带宽度': list.push({ id: '', // id,更新/删除使用参数 dataType: '4', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 impedance: '', // 阻抗 impedanceUnit: 'Ω', // 阻抗单位 thoroughfare: 'CH1', // 通道 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 horizontalDeflectCoefficient: '', // 水平偏转系数 horizontalDeflectCoefficientUnit: 'ns', // 水平偏转系数单位 referencePointFrequency: '', // 参考点频率 referencePointFrequencyUnit: 'Hz', // 参考点频率单位 bandWidth: '', // 频带宽度 bandWidthUnit: 'Hz', // 频带宽度单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: 'dB', // 技术指标单位 }) break case '触发灵敏度': list.push({ id: '', // id,更新/删除使用参数 dataType: '5', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 thoroughfare: 'CH1', // 通道 triggerType: '内触发', // 触发类型 signalFrequency: '', // 信号频率 signalFrequencyUnit: 'V', // 信号频率单位 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 nominalValue: '', // 标称值 nominalValueUnit: 'div', // 标称值单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: 'dB', // 技术指标单位 }) break case '上升时间': list.push({ id: '', // id,更新/删除使用参数 dataType: '5', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 impedance: '', // 阻抗, impedanceUnit: 'Ω', // 阻抗单位 thoroughfare: 'CH1', // 通道 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 amplitude: '', // 幅度 amplitudeUnit: 'V', // 幅度单位 horizontalDeflectCoefficient: '', // 水平偏转系数单位 horizontalDeflectCoefficientUnit: 'ns', // 水平偏转系数单位 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: 'ns', // 技术指标单位 }) break case '输入电阻': list.push({ id: '', // id,更新/删除使用参数 dataType: '5', // 检定项数据类型(一个检定项中区分两个表格)(字典code) itemId: props.itemId, // 检定项id params: title, // 检定项目 thoroughfare: 'CH1', // 通道 verticalDeflectCoefficient: '', // 垂直偏转系数 verticalDeflectCoefficientUnit: 'V', // 垂直偏转系数单位 standardValue: '', // 标准值 technicalIndex: '', // 技术指标 technicalIndexSymbol: '±', // 技术指标前符号 technicalIndexUnit: '%', // 技术指标单位 }) break case '校准信号': break } } // } } /** * 删除行公共方法 * @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> <!-- 时基 --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :checked="true" :disabled="pageType === 'detail'"> 时基 </el-checkbox> <div v-if="pageType !== 'detail'" style="display: flex; padding: 0 10px;padding-bottom: 10px;"> <el-select v-model="form.methodType" placeholder="请选择方法" :disabled="pageType === 'detail'" class="short-input" style="margin-right: 10px;" > <el-option v-for="item of ['方法一', '方法二']" :key="item" :label="item" :value="item" /> </el-select> <el-button type="primary" @click="addRow(timeBaseList, '时基')"> 增加行 </el-button> <el-button type="info" @click="delRow(timeBaseCheckoutList, timeBaseList)"> 删除行 </el-button> </div> </div> <template-table type="时基" :data="timeBaseList" :columns="form.methodType === '方法一' ? columns_time_base_method1 : columns_time_base_method2" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '时基')" /> </detail-block> <!-- 直流增益 --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(zeroFrequencyGainList, '直流增益')"> 增加行 </el-button> <el-button type="info" @click="delRow(zeroFrequencyGainCheckoutList, zeroFrequencyGainList)"> 删除行 </el-button> </div> </div> <template-table type="直流增益" :data="zeroFrequencyGainList" :columns="columns_zero_frequency_gain" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '直流增益')" /> </detail-block> <!-- 直流偏置 --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(DCBiasList, '直流偏置')"> 增加行 </el-button> <el-button type="info" @click="delRow(DCBiasCheckoutList, DCBiasList)"> 删除行 </el-button> </div> </div> <template-table type="直流偏置" :data="DCBiasList" :columns="columns_zero_frequency_gain" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '直流偏置')" /> </detail-block> <!-- 频带宽度(数字示波器) --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(frequencyBandwidthList, '频带宽度')"> 增加行 </el-button> <el-button type="info" @click="delRow(frequencyBandwidthCheckoutList, frequencyBandwidthList)"> 删除行 </el-button> </div> </div> <template-table type="频带宽度(数字示波器)" :data="frequencyBandwidthList" :columns="columns_frequency_bandwidth" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '频带宽度(数字示波器)')" /> </detail-block> <!-- 触发灵敏度 --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(triggerSensitivityList, '触发灵敏度')"> 增加行 </el-button> <el-button type="info" @click="delRow(triggerSensitivityCheckoutList, triggerSensitivityList)"> 删除行 </el-button> </div> </div> <template-table :data="triggerSensitivityList" :columns="columns_trigger_sensitivity" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '触发灵敏度')" /> </detail-block> <!-- 上升时间(数字示波器) --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(risetimeList, '上升时间')"> 增加行 </el-button> <el-button type="info" @click="delRow(risetimeCheckoutList, risetimeList)"> 删除行 </el-button> </div> </div> <template-table type="上升时间(数字示波器)" :data="risetimeList" :columns="columns_risetime" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '上升时间(数字示波器)')" /> </detail-block> <!-- 输入电阻(数字示波器) --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(inputResistanceList, '输入电阻')"> 增加行 </el-button> <el-button type="info" @click="delRow(inputResistanceCheckoutList, inputResistanceList)"> 删除行 </el-button> </div> </div> <template-table type="输入电阻(数字示波器)" :data="inputResistanceList" :columns="columns_input_resistance" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '输入电阻(数字示波器)')" /> </detail-block> <!-- 校准信号(数字示波器) --> <detail-block v-if="props.itemCategoryName === '数字示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(calibratingSignalList, '校准信号(数字示波器)')"> 增加行 </el-button> <el-button type="info" @click="delRow(calibratingSignalCheckoutList, calibratingSignalList)"> 删除行 </el-button> </div> </div> <template-table :data="calibratingSignalList" :columns="columns_calibrating_signal" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '校准信号(数字示波器)')" /> </detail-block> <!-- 扫描时间系数及扩展 --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(scanningTimeList, '扫描时间系数及扩展')"> 增加行 </el-button> <el-button type="info" @click="delRow(scanningTimeCheckoutList, scanningTimeList)"> 删除行 </el-button> </div> </div> <template-table :data="scanningTimeList" :columns="columns_scan_time" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '扫描时间系数及扩展')" /> </detail-block> <!-- 垂直幅度 --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(verticalSizeList, '垂直幅度')"> 增加行 </el-button> <el-button type="info" @click="delRow(verticalSizeCheckoutList, verticalSizeList)"> 删除行 </el-button> </div> </div> <template-table :data="verticalSizeList" :columns="columns_vertical_size" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '垂直幅度')" /> </detail-block> <!-- 频带宽度(模拟示波器) --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(frequencyBandwidthSimulateList, '频带宽度(模拟示波器)')"> 增加行 </el-button> <el-button type="info" @click="delRow(frequencyBandwidthSimulateCheckoutList, frequencyBandwidthSimulateList)"> 删除行 </el-button> </div> </div> <template-table :data="frequencyBandwidthSimulateList" :columns="columns_vertical_size" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '频带宽度(模拟示波器)')" /> </detail-block> <!-- 触发特性 --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(triggerCharacteristicList, '触发特性')"> 增加行 </el-button> <el-button type="info" @click="delRow(triggerCharacteristicCheckoutList, triggerCharacteristicList)"> 删除行 </el-button> </div> </div> <template-table :data="triggerCharacteristicList" :columns="columns_trigger_characteristic" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '触发特性')" /> </detail-block> <!-- 输入电阻(模拟示波器) --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(inputResistanceSimulateList, '输入电阻(模拟示波器)')"> 增加行 </el-button> <el-button type="info" @click="delRow(inputResistanceSimulateCheckoutList, inputResistanceSimulateList)"> 删除行 </el-button> </div> </div> <template-table :data="inputResistanceSimulateList" :columns="columns_input_resistance_simulate" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '输入电阻(模拟示波器)')" /> </detail-block> <!-- 上升时间(模拟示波器) --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(risetimeSimulateList, '上升时间(模拟示波器)')"> 增加行 </el-button> <el-button type="info" @click="delRow(risetimeSimulateCheckoutList, risetimeSimulateList)"> 删除行 </el-button> </div> </div> <template-table type="上升时间" :data="risetimeSimulateList" :columns="columns_risetime_simulate" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '上升时间(模拟示波器)')" /> </detail-block> <!-- 校准信号(模拟示波器) --> <detail-block v-if="props.itemCategoryName === '模拟示波器'" title=""> <div style="display: flex;justify-content: space-between;"> <el-checkbox v-model="form.sj" :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(calibratingSignalSimulateList, '校准信号(模拟示波器)')"> 增加行 </el-button> <el-button type="info" @click="delRow(calibratingSignalSimulateCheckoutList, calibratingSignalSimulateList)"> 删除行 </el-button> </div> </div> <template-table :data="calibratingSignalSimulateList" :columns="columns_calibrating_signal_simulate" :page-type="pageType" @selection-change="(e) => handleSelectionChange(e, '校准信号(模拟示波器)')" /> </detail-block> </template>