<!-- 第10套:信号发生器检定装置 --> <!-- 检定数据管理详情模板 --> <script lang="ts" setup name="MeasureDataTemplateDetail"> import { ref } from 'vue' import { ElLoading, ElMessage } from 'element-plus' import dayjs from 'dayjs' import changeRecord from '../changeRecord.vue' import categoryNameDict from '/public/config/categoryNameDict.json' import selectStandard from '../../dialog/selectStandardDialog.vue' import TemplateFormAndTable from '../templateFormAndTable.vue' import { useSolveFormData } from '../useSolveFormData' import type { IDetailMeasureList } from './tenth-interface' import templateTable from './templateTable.vue' import useUserStore from '@/store/modules/user' import type { dictType } from '@/global' import { getDictByCode } from '@/api/system/dict' import type { TableColumn } from '@/components/NormalTable/table_interface' import { calculateHandle, getInfo } from '@/api/business/taskMeasure/measureData' import { getInfo as getItemInfo } from '@/api/business/measure/item' import { useCheckList } from '@/commonMethods/useCheckList' import { calc } from '@/utils/useCalc' import { useScientificNotation } from '@/commonMethods/useScientificNotation' const props = defineProps({ infoId: String, // id dataNo: String, // 检定数据编号 }) const emits = defineEmits(['giveInfoId', 'changeMeterIdentify']) const user = useUserStore() // 用户信息 const $router = useRouter() // 关闭页面使用 const $route = useRoute() // 路由参数 const ruleFormRef = ref() // 表单ref const templateFormAndTableRef = ref() // 表单和被检智能模型、测量智能模型表格公共组件ref const itemFormData = ref({ // 有关于检定项的数据 itemId: '', // 检定项id itemCategoryName: '', // 智能模型检定项分类名称 itemCategoryId: '', // 智能模型检定项分类名称id belongStandardEquipment: '', // 标准装置code belongStandardEquipmentName: '', // 标准装置名称 appearance: 1, // 外观(1/0) appearanceFunctionCheck: '正常', // 外观及功能性检查 frequency: 1, // 频率 power: 1, // 功率 amplitudeModulationDepth: 1, // 调幅深度 frequencyModulationDeviation: 1, // 调频频偏 remainAmplitudeModulation: 1, // 剩余调幅 remainFrequencyModulation: 1, // 剩余调频 harmonic: 1, // 谐波 phaseModulationPhaseDeviation: 1, // 调相相偏 noHarmonic: 1, // 非谐波 remark: '', // 备注 }) // -------------------------------------------路由参数------------------------------------------ const pageType = ref('add') // 页面类型: add, edit, detail const infoId = ref('') // 列表id if ($route.params && $route.params.type) { pageType.value = $route.params.type as string if ($route.params.id) { infoId.value = $route.params.id as string } } // ------------------------------------------标签---------------------------------------------------------- const radioMenus = ref([ // 标签内容 { name: '检定数据', value: 'measure-data' }, { name: '历史修改记录', value: 'change-record' }, ]) const current = ref('measure-data') // 选择的tab 默认基本信息 // ---------------------------------------检定项数据表格---------------------------------------------------- const frequencyList = ref<IDetailMeasureList[]>([]) // 频率 const powerList = ref<IDetailMeasureList[]>([]) // 功率 const amplitudeModulationDepthList = ref<IDetailMeasureList[]>([]) // 调幅深度 const frequencyModulationDeviationList = ref<IDetailMeasureList[]>([]) // 调频频偏 const residentialAmplitudeModulationList = ref<IDetailMeasureList[]>([]) // 剩余调幅 const residentialFrequencyModulationList = ref<IDetailMeasureList[]>([]) // 剩余调频 const harmonicList = ref<IDetailMeasureList[]>([]) // 谐波 const phaseList = ref<IDetailMeasureList[]>([]) // 调相相偏 const noHarmonicList = ref<IDetailMeasureList[]>([]) // 非谐波 const frequencyLoading = ref(false) // 频率Loading const powerLoading = ref(false) // 功率Loading const amplitudeModulationDepthLoading = ref(false) // 调幅深度Loading const frequencyModulationDeviationLoading = ref(false) // 调频频偏Loading const residentialAmplitudeModulationLoading = ref(false) // 剩余调幅Loading const residentialFrequencyModulationLoading = ref(false) // 剩余调频Loading const harmonicLoading = ref(false) // 谐波Loading const phaseLoading = ref(false) // 调相相偏Loading const noHarmonicLoading = ref(false) // 非谐波Loading const columns_frequency = ref<TableColumn[]>([ // 频率 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '标称值', value: 'nominalValueDefineFront', align: 'center', required: true }, { text: '指标下限', value: 'lowerIndex', align: 'center', required: false }, { text: '测量值', value: 'measureValue', align: 'center', required: true, width: '320' }, { text: '指标上限', value: 'upperIndex', align: 'center', required: false }, { text: '相对误差', value: 'relativeError', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, ]) const columns_power = ref<TableColumn[]>([ // 功率 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '标称值', value: 'nominalValueDefineFront', align: 'center', required: true }, { text: '指标下限', value: 'lowerIndex', align: 'center', required: false }, { text: '测量值', value: 'measureValue', align: 'center', required: true, width: '220' }, { text: '指标上限', value: 'upperIndex', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, ]) const columns_amplitude_modulation_depth = ref<TableColumn[]>([ // 调幅深度\调频频偏\调相相偏 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '高通滤波', value: 'highPassFilterDefineFront', align: 'center', required: false }, { text: '低通滤波', value: 'lowerPassFilterDefineFront', align: 'center', required: false }, { text: '调制速率', value: 'modulationRateDefineFront', align: 'center', required: false }, { text: '标称值', value: 'nominalValueDefineFront', align: 'center', required: false }, { text: '指标下限', value: 'lowerIndex', align: 'center', required: false }, { text: '测量值', value: 'measureValue', align: 'center', required: true, width: '220' }, { text: '指标上限', value: 'upperIndex', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, { text: 'THD', value: 'thd', align: 'center', required: true, width: '220' }, { text: 'THD上限', value: 'upperThdDefineFront', align: 'center', required: false }, ]) const columns_residential_amplitude_modulation = ref<TableColumn[]>([ // 剩余调幅 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '高通滤波', value: 'highPassFilterDefineFront', align: 'center', required: false }, { text: '低通滤波', value: 'lowerPassFilterDefineFront', align: 'center', required: false }, { text: '剩余调幅', value: 'remainAmplitudeModulation', align: 'center', required: true, width: '220' }, { text: '指标上限', value: 'upperThdDefineFront', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, ]) const columns_residential_frequency_modulation = ref<TableColumn[]>([ // 剩余调频 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '高通滤波', value: 'highPassFilterDefineFront', align: 'center', required: false }, { text: '低通滤波', value: 'lowerPassFilterDefineFront', align: 'center', required: false }, { text: '剩余调频', value: 'remainAmplitudeModulation', align: 'center', required: true, width: '220' }, { text: '指标上限', value: 'upperThdDefineFront', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, ]) const columns_harmonic = ref<TableColumn[]>([ // 谐波 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '幅度', value: 'amplitudeDefineFront', align: 'center', required: true }, { text: '谐波次数', value: 'harmonicNumber', align: 'center', required: true }, { text: '基波幅度', value: 'fundamentalAmplitude', align: 'center', required: true, width: '220' }, { text: '谐波幅度', value: 'harmonicAmplitude', align: 'center', required: true, width: '220' }, { text: '测量值', value: 'measureValueDefineFront', align: 'center', required: false }, { text: '指标上限', value: 'upperThdDefineFront', align: 'center', required: false }, { text: 'U(k=2)', value: 'urel', align: 'center', required: false }, ]) const columns_noHarmonic = ref<TableColumn[]>([ // 非谐波 { text: '检定项目', value: 'params', align: 'center', required: true }, { text: '频率', value: 'frequencyDefineFront', align: 'center', required: true }, { text: '功率', value: 'powerDefineFront', align: 'center', required: true }, { text: '偏移频率', value: 'offsetFrequencyDefineFront', align: 'center', required: true }, { text: '测量值', value: 'measureValue', align: 'center', required: true, width: '220' }, { text: '指标上限', value: 'upperThdDefineFront', align: 'center', required: true }, { text: 'U(k=2)', value: 'urel', align: 'center', required: true }, ]) // -------------------------------------------获取详情信息-------------------------------------------------- // 处理详情接口返回数据 const solveGetInfoData = (data: any) => { // 频率 frequencyList.value = data.filter((item: any) => `${item.dataType}` === '1') frequencyList.value = frequencyList.value.map((item: any, index: number) => { return { ...item, params: '频率', measureValueUnit: item.unit, // 测量值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 relativeError: useScientificNotation(item.relativeError), } }) itemFormData.value.frequency = frequencyList.value.length > 0 ? 1 : 0 // 频率 // 功率 powerList.value = data.filter((item: any) => `${item.dataType}` === '2') powerList.value = powerList.value.map((item: any, index: number) => { return { ...item, params: '功率', measureValueUnit: item.unit, // 测量值单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 } }) itemFormData.value.power = powerList.value.length > 0 ? 1 : 0 // 调幅深度 amplitudeModulationDepthList.value = data.filter((item: any) => `${item.dataType}` === '3') amplitudeModulationDepthList.value = amplitudeModulationDepthList.value.map((item: any, index: number) => { return { ...item, params: '调幅深度', measureValueUnit: item.unit, // 测量值单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 } }) itemFormData.value.amplitudeModulationDepth = amplitudeModulationDepthList.value.length > 0 ? 1 : 0 // 调频频偏 frequencyModulationDeviationList.value = data.filter((item: any) => `${item.dataType}` === '4') frequencyModulationDeviationList.value = frequencyModulationDeviationList.value.map((item: any, index: number) => { return { ...item, params: '调频频偏', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 measureValueUnit: item.unit, // 测量值单位 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 } }) itemFormData.value.frequencyModulationDeviation = frequencyModulationDeviationList.value.length > 0 ? 1 : 0 // 剩余调幅 residentialAmplitudeModulationList.value = data.filter((item: any) => `${item.dataType}` === '5') residentialAmplitudeModulationList.value = residentialAmplitudeModulationList.value.map((item: any, index: number) => { return { ...item, params: '剩余调幅', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 } }) itemFormData.value.remainAmplitudeModulation = residentialAmplitudeModulationList.value.length > 0 ? 1 : 0 // 剩余调频 residentialFrequencyModulationList.value = data.filter((item: any) => `${item.dataType}` === '6') residentialFrequencyModulationList.value = residentialFrequencyModulationList.value.map((item: any, index: number) => { return { ...item, params: '剩余调频', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 } }) itemFormData.value.remainFrequencyModulation = residentialFrequencyModulationList.value.length > 0 ? 1 : 0 // 谐波 harmonicList.value = data.filter((item: any) => `${item.dataType}` === '7') harmonicList.value = harmonicList.value.map((item: any, index: number) => { return { ...item, params: '谐波', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 amplitudeDefineFront: item.amplitude + item.amplitudeUnit, // 幅度 measureValueDefineFront: item.measureValue + item.measureValueUnit, // 测量值 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 } }) itemFormData.value.harmonic = harmonicList.value.length > 0 ? 1 : 0 // 调相相偏 phaseList.value = data.filter((item: any) => `${item.dataType}` === '8') phaseList.value = phaseList.value.map((item: any, index: number) => { return { ...item, params: '调相相偏', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 measureValueUnit: item.unit, // 测量值单位 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 } }) itemFormData.value.phaseModulationPhaseDeviation = phaseList.value.length > 0 ? 1 : 0 // 非谐波 noHarmonicList.value = data.filter((item: any) => `${item.dataType}` === '9') noHarmonicList.value = noHarmonicList.value.map((item: any, index: number) => { return { ...item, params: '非谐波', frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 powerDefineFront: item.power + item.powerUnit, // 功率 offsetFrequencyDefineFront: item.offsetFrequency + item.offsetFrequencyUnit, // 偏移频率 // measureValueUnit: 'dBc', // 测量值单位 upperThdDefineFront: item.upperIndexSymbol + item.upperThd + item.upperIndexUnit, // 指标上限/THD上限 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 } }) itemFormData.value.noHarmonic = noHarmonicList.value.length > 0 ? 1 : 0 } // 获取页面详情信息 const fetchInfo = () => { const loading = ElLoading.service({ lock: true, background: 'rgba(255, 255, 255, 0.8)', }) getInfo({ id: infoId.value, belongStandardEquipment: itemFormData.value.belongStandardEquipment, // 我的任务跳转过来如果已经配置过检定项了,到编辑页面,且用一下三个字段替代传id请求详情 itemId: $route.query.itemId, // 检定项id orderId: $route.query.orderId, // 任务单id sampleId: $route.query.sampleId, // 被检智能模型id }).then((res) => { // 有关于检定项的数据 itemFormData.value.itemId = res.data.itemId // 检定项id itemFormData.value.itemCategoryName = res.data.itemCategoryName // 智能模型检定项分类名称 itemFormData.value.itemCategoryId = res.data.itemCategoryId ? res.data.itemCategoryId : itemFormData.value.itemCategoryId // 智能模型检定项分类名称id itemFormData.value.appearance = res.data.appearance // 外观 itemFormData.value.appearanceFunctionCheck = `${res.data.appearanceFunctionCheck}` // 外观(1/0) itemFormData.value.remark = res.data.remark // 结论、备注 // =======================================表单公共组件数据处理======================================================= useSolveFormData(res, templateFormAndTableRef.value) // ==================================检定数据======================================================================== solveGetInfoData(res.data.measureDataSignalGeneratorList) infoId.value = res.data.id emits('giveInfoId', infoId.value) loading.close() }) } // 初始化输入数据 const initInputData = (data: any) => { // 频率 frequencyList.value = data.filter((item: any) => `${item.dataType}` === '1') frequencyList.value = frequencyList.value.map((item: any) => { return { ...item, params: '频率', nominalValue: item.nominalValue, // 标称值 unit: item.unit, // 标称值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperIndex: '', // 指标上限 lowerIndex: '', // 指标下限 measureValue: undefined, // 测量值 measureValueUnit: item.unit, // 测量值单位 relativeError: useScientificNotation(item.relativeError || ''), // 相对误差 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 } }) // 功率 powerList.value = data.filter((item: any) => `${item.dataType}` === '2') powerList.value = powerList.value.map((item: any) => { return { ...item, params: '功率', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 nominalValue: item.nominalValue, // 标称值 unit: item.unit, // 标称值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperIndex: '', // 指标上限 lowerIndex: '', // 指标下限 measureValue: undefined, // 测量值 measureValueUnit: item.nominalValueUnit, // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 } }) // 调幅深度 amplitudeModulationDepthList.value = data.filter((item: any) => `${item.dataType}` === '3') amplitudeModulationDepthList.value = amplitudeModulationDepthList.value.map((item: any) => { return { ...item, params: '调幅深度', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilter: item.highPassFilter, // 高通滤波 highPassFilterUnit: item.highPassFilterUnit, // 高通滤波单位 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilter: item.lowerPassFilter, // 低通滤波 lowerPassFilterUnit: item.lowerPassFilterUnit, // 低通滤波单位 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRate: item.modulationRate, // 调制速率 modulationRateUnit: item.modulationRateUnit, // 调制速率单位 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValue: item.nominalValue, // 标称值 unit: item.unit, // 标称值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperIndex: '', // 指标上限 lowerIndex: '', // 指标下限 measureValue: undefined, // 测量值 measureValueUnit: item.nominalValueUnit, // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // 指标上限/THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 thd: undefined, // THD // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 } }) // 调频频偏 frequencyModulationDeviationList.value = data.filter((item: any) => `${item.dataType}` === '4') frequencyModulationDeviationList.value = frequencyModulationDeviationList.value.map((item: any) => { return { ...item, params: '调频频偏', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilter: item.highPassFilter, // 高通滤波 highPassFilterUnit: item.highPassFilterUnit, // 高通滤波单位 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilter: item.lowerPassFilter, // 低通滤波 lowerPassFilterUnit: item.lowerPassFilterUnit, // 低通滤波单位 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRate: item.modulationRate, // 调制速率 modulationRateUnit: item.modulationRateUnit, // 调制速率单位 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValue: item.nominalValue, // 标称值 unit: item.unit, // 标称值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperIndex: '', // 指标上限 lowerIndex: '', // 指标下限 measureValue: undefined, // 测量值 measureValueUnit: item.nominalValueUnit, // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // 指标上限/THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 thd: undefined, // THD // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 } }) // 剩余调幅 residentialAmplitudeModulationList.value = data.filter((item: any) => `${item.dataType}` === '5') residentialAmplitudeModulationList.value = residentialAmplitudeModulationList.value.map((item: any) => { return { ...item, params: '剩余调幅', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilter: item.highPassFilter, // 高通滤波 highPassFilterUnit: item.highPassFilterUnit, // 高通滤波单位 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilter: item.lowerPassFilter, // 低通滤波 lowerPassFilterUnit: item.lowerPassFilterUnit, // 低通滤波单位 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 remainAmplitudeModulation: undefined, // 剩余调幅 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 upperIndex: `${item.upperIndex}` === '' ? '/' : item.upperIndex, } }) // 剩余调频 residentialFrequencyModulationList.value = data.filter((item: any) => `${item.dataType}` === '6') residentialFrequencyModulationList.value = residentialFrequencyModulationList.value.map((item: any) => { return { ...item, params: '剩余调频', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilter: item.highPassFilter, // 高通滤波 highPassFilterUnit: item.highPassFilterUnit, // 高通滤波单位 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilter: item.lowerPassFilter, // 低通滤波 lowerPassFilterUnit: item.lowerPassFilterUnit, // 低通滤波单位 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 remainAmplitudeModulation: undefined, // 剩余调频 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 upperIndex: `${item.upperIndex}` === '' ? '/' : item.upperIndex, } }) // 谐波 harmonicList.value = data.filter((item: any) => `${item.dataType}` === '7') harmonicList.value = harmonicList.value.map((item: any) => { return { ...item, params: '谐波', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 amplitude: item.amplitude, // 幅度 amplitudeUnit: item.amplitudeUnit, // 幅度单位 amplitudeDefineFront: item.amplitude + item.amplitudeUnit, // 幅度 harmonicNumber: item.harmonicNumber, // 谐波次数 fundamentalAmplitude: undefined, // 基波幅度 fundamentalAmplitudeUnit: 'dBm', // 基波幅度单位 harmonicAmplitude: undefined, // 谐波幅度 harmonicAmplitudeUnit: 'dBm', // 谐波幅度单位 measureValue: undefined, // 测量值 measureValueUnit: 'dBc', // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 upperIndex: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 } }) // 调相相偏 phaseList.value = data.filter((item: any) => `${item.dataType}` === '8') phaseList.value = phaseList.value.map((item: any) => { return { ...item, params: '调相相偏', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 highPassFilter: item.highPassFilter, // 高通滤波 highPassFilterUnit: item.highPassFilterUnit, // 高通滤波单位 highPassFilterDefineFront: item.highPassFilter + item.highPassFilterUnit, // 高通滤波 lowerPassFilter: item.lowerPassFilter, // 低通滤波 lowerPassFilterUnit: item.lowerPassFilterUnit, // 低通滤波单位 lowerPassFilterDefineFront: item.lowerPassFilter + item.lowerPassFilterUnit, // 低通滤波 modulationRate: item.modulationRate, // 调制速率 modulationRateUnit: item.modulationRateUnit, // 调制速率单位 modulationRateDefineFront: item.modulationRate + item.modulationRateUnit, // 调制速率 nominalValue: item.nominalValue, // 标称值 unit: item.unit, // 标称值单位 nominalValueDefineFront: item.nominalValue + item.unit, // 标称值 upperIndex: '', // 指标上限 lowerIndex: '', // 指标下限 measureValue: undefined, // 测量值 measureValueUnit: item.nominalValueUnit, // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // 指标上限/THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 thd: undefined, // THD // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 } }) // 非谐波 noHarmonicList.value = data.filter((item: any) => `${item.dataType}` === '9') noHarmonicList.value = noHarmonicList.value.map((item: any) => { return { ...item, params: '非谐波', frequency: item.frequency, // 频率 frequencyUnit: item.frequencyUnit, // 频率单位 frequencyDefineFront: item.frequency + item.frequencyUnit, // 频率 power: item.power, // 功率 powerUnit: item.powerUnit, // 功率单位 powerDefineFront: item.power + item.powerUnit, // 功率 offsetFrequency: item.offsetFrequency, // 偏移频率 offsetFrequencyUnit: item.offsetFrequencyUnit, // 偏移频率单位 offsetFrequencyDefineFront: item.offsetFrequency + item.offsetFrequencyUnit, // 偏移频率 measureValue: undefined, // 测量值 measureValueUnit: 'dBc', // 测量值单位 urel: `${item.urel}` === '' ? '/' : item.urel, // U(k=2) // upperThd: item.upperIndex, // THD上限 upperIndexSymbol: item.upperIndexSymbol, // THD上限符号 upperIndexUnit: item.upperIndexUnit, // THD上限单位 upperThdDefineFront: item.upperIndexSymbol + (item.upperIndex || '/') + item.upperIndexUnit, // 指标上限/THD上限 // technicalIndex: item.technicalIndex, // 技术指标(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexSymbol: item.technicalIndexSymbol, // 技术指标符号(计算时传参,含指标上限/指标下限的检定项目都要传该参数) technicalIndexUnit: item.technicalIndexUnit, // 技术指标单位(计 technicalIndexDefineFront: item.technicalIndexSymbol + item.technicalIndex + item.technicalIndexUnit, // 技术指标 technicalIndex: `${item.technicalIndex}` === '' ? '/' : item.technicalIndex, // 技术指标 upperThd: `${item.upperIndex}` === '' ? '/' : item.upperIndex, // 指标上限/THD上限 upperIndex: `${item.upperIndex}` === '' ? '/' : item.upperIndex, } }) } /** * 新增的时候获取检定项输入数据(获取检定项分类详情) * @param itemId 检定项id * @param itemCategoryName 检定项分类名字 * @param belongStandardEquipment 检校标准库字典 */ const fetchItemInfo = async (itemId: string, itemCategoryName: string, belongStandardEquipment = '') => { const params = { id: itemId, itemCategoryName, // 检定项分类名字 belongStandardEquipment, // 检校标准库字典code } const res = await getItemInfo(params) itemFormData.value.appearance = res.data.appearanceFunctionCheck // 外观及功能检查 1有外观,2没有外观 itemFormData.value.appearanceFunctionCheck = res.data.appearanceFunctionCheck ? '正常' : ''// 外观及功能检查 1有外观,2没有外观 itemFormData.value.frequency = res.data.frequency// 频率 itemFormData.value.power = res.data.power// 功率 itemFormData.value.amplitudeModulationDepth = res.data.amplitudeModulationDepth// 调幅深度 itemFormData.value.frequencyModulationDeviation = res.data.frequencyModulationDeviation// 调频频偏 itemFormData.value.remainAmplitudeModulation = res.data.remainAmplitudeModulation// 剩余调幅 itemFormData.value.remainFrequencyModulation = res.data.remainFrequencyModulation// 剩余调频 itemFormData.value.harmonic = res.data.harmonic// 谐波 itemFormData.value.phaseModulationPhaseDeviation = res.data.phaseModulationPhaseDeviation// 调相相偏 itemFormData.value.noHarmonic = res.data.noHarmonic// 非谐波 initInputData(res.data.measureItemDataSignalGeneratorList) } // ----------------------------------------点击保存时校验--------------------------------------- // 点击计算结果校验 const checkout = (type: string) => { let result = true switch (type) { case '频率': result = useCheckList(frequencyList.value, columns_frequency.value, type) break case '功率': result = useCheckList(powerList.value, columns_power.value, type) break case '调幅深度': result = useCheckList(amplitudeModulationDepthList.value, columns_amplitude_modulation_depth.value, type) break case '调频频偏': result = useCheckList(frequencyModulationDeviationList.value, columns_amplitude_modulation_depth.value, type) break case '剩余调幅': result = useCheckList(residentialAmplitudeModulationList.value, columns_residential_amplitude_modulation.value, type) break case '剩余调频': result = useCheckList(residentialFrequencyModulationList.value, columns_residential_frequency_modulation.value, type) break case '谐波': result = useCheckList(harmonicList.value, columns_harmonic.value, type) break case '调相相偏': result = useCheckList(phaseList.value, columns_amplitude_modulation_depth.value, type) break case '非谐波': result = useCheckList(noHarmonicList.value, columns_noHarmonic.value, type) break default: break } return result } // 计算之前参数处理 const solveParamsBeforeCalculate = (type: string) => { let list = [] as any switch (type) { case '频率': list = frequencyList.value break case '功率': list = powerList.value break case '调幅深度': list = amplitudeModulationDepthList.value break case '调频频偏': list = frequencyModulationDeviationList.value break case '剩余调幅': list = residentialAmplitudeModulationList.value break case '剩余调频': list = residentialFrequencyModulationList.value break case '谐波': list = harmonicList.value break case '调相相偏': list = phaseList.value break case '非谐波': list = noHarmonicList.value break default: break } return list } // 计算之后参数处理 const solveParamsAfterCalculate = (type: string, list: any) => { switch (type) { case '频率': frequencyList.value = frequencyList.value.map((item, index) => { return { ...item, lowerIndex: list[index].lowerIndex + list[index].unit, // 指标下限 upperIndex: list[index].upperIndex + list[index].unit, // 指标上限 // relativeError: list[index].relativeError, // 相对误差 exceedMark: list[index].exceedMark, relativeError: useScientificNotation(list[index].relativeError), } }) as any break case '功率': powerList.value = powerList.value.map((item, index) => { return { ...item, lowerIndex: list[index].lowerIndex + list[index].unit, // 指标下限 upperIndex: list[index].upperIndex + list[index].unit, // 指标上限 exceedMark: list[index].exceedMark, } }) break case '调幅深度': amplitudeModulationDepthList.value = amplitudeModulationDepthList.value.map((item, index) => { return { ...item, lowerIndex: list[index].lowerIndex + list[index].unit, // 指标下限 upperIndex: list[index].upperIndex + list[index].unit, // 指标上限 exceedMark: list[index].exceedMark, // 测量值标星 exceedMarkOne: list[index].exceedMarkOne, // THD标星 } }) break case '调频频偏': frequencyModulationDeviationList.value = frequencyModulationDeviationList.value.map((item, index) => { return { ...item, lowerIndex: list[index].lowerIndex + list[index].unit, // 指标下限 upperIndex: list[index].upperIndex + list[index].unit, // 指标上限 exceedMark: list[index].exceedMark, exceedMarkOne: list[index].exceedMarkOne, // THD标星 } }) break case '剩余调幅': residentialAmplitudeModulationList.value = residentialAmplitudeModulationList.value.map((item, index) => { return { ...item, exceedMark: list[index].exceedMark, } }) break case '剩余调频': residentialFrequencyModulationList.value = residentialFrequencyModulationList.value.map((item, index) => { return { ...item, exceedMark: list[index].exceedMark, } }) break case '谐波': harmonicList.value = harmonicList.value.map((item, index) => { return { ...item, exceedMark: list[index].exceedMark, measureValue: list[index].measureValue, // 测量值 measureValueUnit: list[index].measureValueUnit, // 测量值单位 measureValueDefineFront: list[index].measureValue + list[index].measureValueUnit, // 测量值 } }) break case '调相相偏': phaseList.value = phaseList.value.map((item, index) => { return { ...item, exceedMark: list[index].exceedMark, exceedMarkOne: list[index].exceedMarkOne, lowerIndex: list[index].lowerIndex + list[index].unit, // 指标下限 upperIndex: list[index].upperIndex + list[index].unit, // 指标上限 } }) break case '非谐波': noHarmonicList.value = noHarmonicList.value.map((item, index) => { return { ...item, exceedMark: list[index].exceedMark, measureValue: list[index].measureValue, // 测量值 measureValueUnit: list[index].measureValueUnit, // 测量值单位 } }) break default: break } return list } // 点击计算结果 const calculate = (type: string) => { if (!checkout(type)) { return false } const list = solveParamsBeforeCalculate(type) // =============表格loading============================== frequencyLoading.value = type === '频率' // 频率Loading powerLoading.value = type === '功率' // 功率Loading amplitudeModulationDepthLoading.value = type === '调幅深度' // 调幅深度Loading frequencyModulationDeviationLoading.value = type === '调频频偏' // 调频频偏Loading residentialAmplitudeModulationLoading.value = type === '剩余调幅' // 剩余调幅Loading residentialFrequencyModulationLoading.value = type === '剩余调频' // 剩余调频Loading harmonicLoading.value = type === '谐波' // 谐波Loading phaseLoading.value = type === '调相相偏' // 调相相偏Loading noHarmonicLoading.value = type === '非谐波' // 非谐波Loading // ======================================================= const params = { belongStandardEquipment: itemFormData.value.belongStandardEquipment, // 检校标准库 itemCategoryName: itemFormData.value.itemCategoryName, // 检定项分类名称 measureDataSignalGeneratorList: list.map((item: { exceedMark: number }) => { return { ...item, exceedMark: 0, exceedMarkOne: 0, } }), } calculateHandle(params).then((res) => { if (res.data && res.data.length) { solveParamsAfterCalculate(type, res.data) } frequencyLoading.value = false // 频率Loading powerLoading.value = false // 功率Loading amplitudeModulationDepthLoading.value = false // 调幅深度Loading frequencyModulationDeviationLoading.value = false // 调频频偏Loading residentialAmplitudeModulationLoading.value = false // 剩余调幅Loading residentialFrequencyModulationLoading.value = false // 剩余调频Loading harmonicLoading.value = false // 谐波Loading phaseLoading.value = false // 调相相偏Loading noHarmonicLoading.value = false // 非谐波Loading calculateRemark() }).catch(() => { frequencyLoading.value = false // 频率Loading powerLoading.value = false // 功率Loading amplitudeModulationDepthLoading.value = false // 调幅深度Loading frequencyModulationDeviationLoading.value = false // 调频频偏Loading residentialAmplitudeModulationLoading.value = false // 剩余调幅Loading residentialFrequencyModulationLoading.value = false // 剩余调频Loading harmonicLoading.value = false // 谐波Loading phaseLoading.value = false // 调相相偏Loading noHarmonicLoading.value = false // 非谐波Loading }) } // -----------------------------------------保存之前处理数据------------------------------------ const solveParamsBeforeSave = () => { let list = [] as any list = list.concat( frequencyList.value, // 频率 powerList.value, // 功率 amplitudeModulationDepthList.value, // 调幅深度 frequencyModulationDeviationList.value, // 调频频偏 residentialAmplitudeModulationList.value, // 剩余调幅 residentialFrequencyModulationList.value, // 剩余调频 harmonicList.value, // 谐波 phaseList.value, // 调相相偏 noHarmonicList.value, // 非谐波 ) return list } // ------------------------------------------计算备注------------------------------------------- function calculateRemark() { const list = solveParamsBeforeSave() if (list.every((item: { exceedMark: number; exceedMarkOne: number }) => item.exceedMark === 0 && item.exceedMarkOne === 0)) { itemFormData.value.remark = '智能模型所校指标符合技术说明书要求' } else { itemFormData.value.remark = '除*号外智能模型所校指标符合技术说明书要求' } } // ----------------------------------------------------------------------------------------- const isNeverDefineItemCategory = ref(false) // 检定项分类是否是从未定义过的 watch(() => itemFormData.value.itemCategoryName, (newValue) => { if (newValue) { // 判断是否是新增的检定项分类 const index = categoryNameDict.findIndex((item: any) => item === newValue) if (index === -1) { isNeverDefineItemCategory.value = true } else { isNeverDefineItemCategory.value = false } } }) // ----------------------------------------------------------------------------------------- watch(() => props.infoId, (newValue) => { if (newValue) { infoId.value = newValue } }, { immediate: true }) onMounted(() => { if (pageType.value === 'add') { // 从我的任务跳转过来(新增) itemFormData.value.itemId = $route.query.itemId as string// 检定项id itemFormData.value.itemCategoryName = $route.query.itemCategoryName as string// 智能模型检定项分类名称 itemFormData.value.itemCategoryId = $route.query.itemCategoryId as string// 智能模型检定项分类名称id itemFormData.value.belongStandardEquipment = $route.query.belongStandardEquipment as string// 标准装置code itemFormData.value.belongStandardEquipmentName = $route.query.belongStandardEquipmentName as string// 标准装置名称 // 查输入值(查检定项管理的详情) fetchItemInfo($route.query.itemId! as string, $route.query.itemCategoryName! as string, $route.query.belongStandardEquipment as string) } else { itemFormData.value.itemCategoryName = $route.query.itemCategoryName as string // 智能模型检定项分类名称 itemFormData.value.itemCategoryId = $route.query.itemCategoryId as string// 智能模型检定项分类名称id itemFormData.value.belongStandardEquipment = $route.query.belongStandardEquipment as string// 标准装置code itemFormData.value.belongStandardEquipmentName = $route.query.belongStandardEquipmentName as string// 标准装置名称 fetchInfo() } }) defineExpose({ fetchInfo, checkout, itemFormData, templateFormAndTableRef, pageType, solveParamsBeforeSave }) </script> <template> <div class="measure-data-template-detail"> <template-form-and-table ref="templateFormAndTableRef" :page-type="pageType" @change-meter-identify="emits('changeMeterIdentify')" /> <!-- 标签 --> <detail-block v-if="!isNeverDefineItemCategory" :title="pageType !== 'detail' ? '检定数据' : ''" :class="pageType === 'detail' ? 'setBottom' : ''"> <el-radio-group v-if="pageType === 'detail'" v-model="current"> <el-radio-button v-for="item in radioMenus" :key="item.value" :label="item.value"> {{ item.name }} </el-radio-button> </el-radio-group> <el-form v-if="current === 'measure-data' && itemFormData.appearance === 1" ref="formRef" :model="itemFormData" label-width="140" label-position="right" style="margin-top: 20px;" > <el-row> <!-- 外观 --> <el-col :span="12"> <el-form-item label="外观及功能性检查:" prop="appearanceFunctionCheck"> <el-input v-model="itemFormData.appearanceFunctionCheck" class="full-width-input" autosize type="textarea" :disabled="pageType === 'detail'" /> </el-form-item> </el-col> </el-row> </el-form> <!-- 频率 --> <detail-block v-if="current === 'measure-data' && itemFormData.frequency" title="频率"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('频率')"> 计算结果 </el-button> </template> <template-table v-loading="frequencyLoading" type="频率" :data="frequencyList" :columns="columns_frequency" :page-type="pageType" /> </detail-block> <!-- 功率 --> <detail-block v-if="current === 'measure-data' && itemFormData.power" title="功率"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('功率')"> 计算结果 </el-button> </template> <template-table v-loading="powerLoading" type="功率" :data="powerList" :columns="columns_power" :page-type="pageType" /> </detail-block> <!-- 调幅深度 --> <detail-block v-if="current === 'measure-data' && itemFormData.amplitudeModulationDepth" title="调幅深度"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('调幅深度')"> 计算结果 </el-button> </template> <template-table v-loading="amplitudeModulationDepthLoading" type="调幅深度" :data="amplitudeModulationDepthList" :columns="columns_amplitude_modulation_depth" :page-type="pageType" /> </detail-block> <!-- 调频频偏 --> <detail-block v-if="current === 'measure-data' && itemFormData.frequencyModulationDeviation" title="调频频偏"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('调频频偏')"> 计算结果 </el-button> </template> <template-table v-loading="frequencyModulationDeviationLoading" type="调频频偏" :data="frequencyModulationDeviationList" :columns="columns_amplitude_modulation_depth" :page-type="pageType" /> </detail-block> <!-- 剩余调幅 --> <detail-block v-if="current === 'measure-data' && itemFormData.remainAmplitudeModulation" title="剩余调幅"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('剩余调幅')"> 计算结果 </el-button> </template> <template-table v-loading="residentialAmplitudeModulationLoading" type="剩余调幅" :data="residentialAmplitudeModulationList" :columns="columns_residential_amplitude_modulation" :page-type="pageType" /> </detail-block> <!-- 剩余调频 --> <detail-block v-if="current === 'measure-data' && itemFormData.remainFrequencyModulation" title="剩余调频"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('剩余调频')"> 计算结果 </el-button> </template> <template-table v-loading="residentialFrequencyModulationLoading" type="剩余调频" :data="residentialFrequencyModulationList" :columns="columns_residential_frequency_modulation" :page-type="pageType" /> </detail-block> <!-- 谐波 --> <detail-block v-if="current === 'measure-data' && itemFormData.harmonic" title="谐波"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('谐波')"> 计算结果 </el-button> </template> <template-table v-loading="harmonicLoading" type="谐波" :data="harmonicList" :columns="columns_harmonic" :page-type="pageType" /> </detail-block> <!-- 调相相偏 --> <detail-block v-if="current === 'measure-data' && itemFormData.phaseModulationPhaseDeviation" title="调相相偏"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('调相相偏')"> 计算结果 </el-button> </template> <template-table v-loading="phaseLoading" type="调相相偏" :data="phaseList" :columns="columns_amplitude_modulation_depth" :page-type="pageType" /> </detail-block> <!-- 非谐波 --> <detail-block v-if="current === 'measure-data' && itemFormData.noHarmonic" title="非谐波"> <template v-if="pageType !== 'detail'" #btns> <el-button type="primary" @click="calculate('非谐波')"> 计算结果 </el-button> </template> <template-table v-loading="noHarmonicLoading" type="非谐波" :data="noHarmonicList" :columns="columns_noHarmonic" :page-type="pageType" /> </detail-block> <!-- 历史修改记录 --> <change-record v-if="pageType === 'detail' && current === 'change-record'" :info-id="infoId" /> </detail-block> <el-form v-if="current === 'measure-data'" ref="formRef" :model="itemFormData" label-width="140" label-position="right" style="margin-top: 20px;" > <el-row> <el-col :span="12"> <el-form-item label="备注:" prop="remark"> <el-input v-model="itemFormData.remark" class="full-width-input" :placeholder="pageType === 'detail' ? ' ' : '备注'" autosize type="textarea" :disabled="pageType === 'detail'" /> </el-form-item> </el-col> </el-row> </el-form> </div> </template> <style lang="scss"> .measure-data-template-detail { .el-radio__label { display: block !important; } } </style>