<!-- 标准库台账信息详情 核查数据分析 --> <script name="StandardBookCheckDataAnalysis" lang="ts" setup> import dayjs from 'dayjs' import { ElMessage } from 'element-plus' import { getCheckItemDetail, getEquipmentList } from '@/api/equipment/standard/book' import { getHistoryIndication, getInfo } from '@/api/equipment/standard/checkData' import { getDictByCode } from '@/api/system/dict' import { uniqueArray } from '@/utils/Array' import { getRangeAllTime } from '@/utils/date' const $route = useRoute() const listQuery = ref({ id: '', config: '', ponit: [] as any[], startTime: '', endTime: '', type: '', nominal: '', }) const loading = ref(true) const isFirst = ref(true) const dateRange = ref<any[]>([]) watch(() => dateRange.value, (newVal) => { listQuery.value.startTime = '' listQuery.value.endTime = '' if (Array.isArray(newVal)) { if (newVal.length) { listQuery.value.startTime = `${newVal[0]} 00:00:00` listQuery.value.endTime = `${newVal[1]} 23:59:59` } } }) // 获取查询条件数据 // 第一级下拉框使用的数据 const deviceList = ref<any[]>([]) // 第二级下拉框使用的数据 const configList = ref<any[]>([]) const allConfigData = ref<any[]>([]) const TypeList = ref<any[]>([]) const nominalList = ref<any[]>([]) // 第三级下拉框使用的数据 const ponitList = ref<any[]>([]) const standardList = ref<any[]>([])// 检校标准库 const standardMap = ref({}) as any// 检校标准库 const standardCode = ref('') const standardMapConfigDict = ref<{ [key: string]: string }>({ 1: 'checkItemDataCalibratorList', // 多功能校准源 2: 'checkItemDataDcPowerList', // 直流稳压电源 3: 'checkItemDataElectricalSafetyList', // 多功能电气安全 4: 'checkItemDataPistonGaugeList', // 0.02活塞 5: 'checkItemDataResistanceThermometerList', // 二等铂 8: 'checkItemDataETwoList', // E2等砝码 9: 'checkItemDataSpectrumAnalyzerList', // 频谱分析仪 10: 'checkItemDataSignalGeneratorList', // 信号发生器 11: 'checkItemDataMicrowaveAttenuationList', // 微博衰减 12: 'checkItemDataFrequencyStabilityList', // 短稳 13: 'checkItemDataOscilloscopeList', // 示波器 14: 'checkItemDataCesiumAtomList', // 铯原子 15: 'checkItemDataLowerPowerList', // 小功率 16: 'checkItemDataLowFrequencySignalList', // 低频信号源 17: 'checkItemDataSParamList', // S参数 18: 'checkItemDataDistortionFactorList', // 失真度 }) const fetchData = async () => { // 检校标准库 const res = await getDictByCode('bizStandardEquipmentType') res.data.forEach((item: { value: string; name: string }) => { standardMap.value[`${item.name}`] = item.value }) standardList.value = res.data standardCode.value = standardMap.value[$route.query.standardName as string] // 检校标准库code getEquipmentList({ limit: 99999, offset: 1, standardId: $route.query.standardId! as string, standardName: $route.query.standardName! as string, }).then((res) => { deviceList.value = res.data.rows // 设置默认选中 if (deviceList.value.length) { listQuery.value.id = deviceList.value[1].id } else { loading.value = false } }) } fetchData() // 图表数据 // 核查数据变化趋势 const xAxisData = ref<any[]>([]) const dataTrend = ref<any[]>([]) // 核查结果分析 const data = ref<any[]>([]) // 监听智能模型修改二三级下拉框 watch(() => listQuery.value.id, (newVal) => { listQuery.value.config = '' listQuery.value.type = '' listQuery.value.nominal = '' listQuery.value.ponit = [] allConfigData.value = [] TypeList.value = [] configList.value = [] ponitList.value = [] nominalList.value = [] if (newVal) { const data = deviceList.value.filter((item: any) => item.id === newVal)[0] || {} console.log(data, '选中的智能模型') console.log(standardCode.value, 'standardCode.value') if (standardCode.value === '4') { TypeList.value = uniqueArray(deviceList.value.filter((item: any) => item.id === newVal).map((item: any) => item.itemCategoryName)) if (isFirst.value) { listQuery.value.type = TypeList.value[0] } return } // 获取配置项 getCheckItemDetail({ equipmentId: data.id, // 智能模型id belongStandardEquipment: standardMap.value[$route.query.standardName as string], // 检校标准装置code itemCategoryId: data.itemCategoryId, // 核查项分类id itemCategoryName: data.itemCategoryName, // 核查项分类名称 }).then((res) => { console.log(res.data, '123') // 配置项 let data = res.data[standardMapConfigDict.value[standardMap.value[$route.query.standardName as string]]] console.log(data, '检定项数据') if (!data) { // 未配置 allConfigData.value = [] configList.value = [] loading.value = false isFirst.value = false return } if (standardCode.value === '11') { data = data.map((item: any) => ({ ...item, params: item.gearType })) } if (standardCode.value === '12') { data = data.map((item: any) => ({ ...item, params: item.checkSystem })) } allConfigData.value = JSON.parse(JSON.stringify(data)) configList.value = uniqueArray(data.map((item: any) => item.params)) if (standardCode.value === '8') { allConfigData.value = allConfigData.value.map((item: any) => ({ ...item, params: 'E2核查' })) listQuery.value.config = 'E2核查' configList.value[0] = 'E2核查' } // if (standardCode.value === '15' || standardCode.value === '18' || standardCode.value === '14') { // listQuery.value.config = configList.value[0] // } if (standardCode.value === '1') { TypeList.value = uniqueArray(allConfigData.value.map((item: any) => item.testType)) if (isFirst.value) { listQuery.value.type = TypeList.value[0] loading.value = !!TypeList.value.length } return } // 设置默认选中 if (isFirst.value) { listQuery.value.config = configList.value[0] loading.value = !!configList.value.length } }) } }) watch(() => listQuery.value.type, (newVal) => { listQuery.value.config = '' listQuery.value.ponit = [] configList.value = [] ponitList.value = [] if (newVal) { if (standardCode.value === '4') { const data = deviceList.value.filter((item: any) => item.id === listQuery.value.id && item.itemCategoryName === newVal)[0] getCheckItemDetail({ equipmentId: listQuery.value.id, // 智能模型id belongStandardEquipment: standardMap.value[$route.query.standardName as string], // 检校标准装置code itemCategoryId: data.itemCategoryId, // 核查项分类id itemCategoryName: data.itemCategoryName, // 核查项分类名称 }).then((res) => { if (newVal === '压力值') { ponitList.value = uniqueArray(res.data.checkItemDataPistonGaugeList.map((item: any) => `${item.checkPoint}${item.unit}`)) if (isFirst.value) { listQuery.value.ponit = ponitList.value loading.value = !!ponitList.value.length dateRange.value = [dayjs().subtract(7, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')] listQuery.value.startTime = dayjs().subtract(7, 'day').format('YYYY-MM-DD') listQuery.value.endTime = dayjs().format('YYYY-MM-DD') searchList() setTimeout(() => { isFirst.value = false }, 2000) } } else { allConfigData.value = res.data.checkItemDataPistonGaugeList configList.value = uniqueArray(res.data.checkItemDataPistonGaugeList.map((item: any) => item.checkItem === '1' ? '直流电压测量误差' : '直流电流测量误差')) if (isFirst.value) { listQuery.value.config = configList.value[0] loading.value = !!configList.value.length } } }) return } const data = allConfigData.value.filter((item: any) => item.testType === newVal) configList.value = uniqueArray(data.map((item: any) => item.params)) // 设置默认选中 if (isFirst.value) { listQuery.value.config = configList.value[0] loading.value = !!configList.value.length } } }) // 监听配置项 watch(() => listQuery.value.config, (newVal) => { listQuery.value.ponit = [] listQuery.value.nominal = '' nominalList.value = [] if (newVal) { let data = allConfigData.value.filter((item: any) => item.params === newVal) if (standardCode.value === '1') { data = allConfigData.value.filter((item: any) => item.params === newVal && item.testType === listQuery.value.type) } console.log(data, '第三下拉框') if (standardCode.value === '16' || standardCode.value === '2' || standardCode.value === '5' || standardCode.value === '3' || standardCode.value === '8' || standardCode.value === '15' || standardCode.value === '1' || standardCode.value === '18' || standardCode.value === '11' || standardCode.value === '10' || standardCode.value === '9' || standardCode.value === '14' || standardCode.value === '13' || standardCode.value === '12' || standardCode.value === '17') { let attribute = {} as { [key: string]: any } let unit = {} as { [key: string]: any } attribute = { // 多功能校准源 1: { DCV: 'checkPoint', ACV: 'checkPoint', DCI: 'checkPoint', ACI: 'checkPoint', R: 'checkPoint', }, // 直流稳压 2: { '直流电压': 'checkPoint', '电源效应和负载效应': 'checkPoint', '直接电流(直接测量)': 'checkPoint', '直接电流(间接测量)': 'checkPoint', '纹波电压': 'checkPoint', }, // 多动能电气安全 3: { 直流电压: 'checkPoint', 电阻测量: 'checkPoint', }, // 二等铂 5: { 温度值: 'checkPoint', RTP值: 'checkPoint', 绝缘电阻表校准: 'checkPoint', 测温仪电阻核查: 'checkPoint', }, // E2等砝码 8: { E2核查: 'checkPoint', }, // 频谱分析仪 9: { 频率: 'checkPoint', 功率: 'checkPoint', 相对电平: 'checkPoint', }, // 信号发生器 10: { 频率: 'checkPoint', 功率: 'checkPoint', 相对电平: 'checkPoint', 调幅度: 'checkPoint', 调频频偏: 'checkPoint', 调相相偏: 'checkPoint', 谐波: 'checkPoint', }, // 微博衰减 11: { '1dB档位': 'frequency', '10dB档位': 'frequency', }, // 短稳 12: { '双混频时差法-5110/5120': 'outputFrequency', '差拍法-10830': 'outputFrequency', '双混频时差法-BM1308-15': 'outputFrequency', }, // 示波器 13: { '时标': 'checkPoint', '方波电压(50Ω)': 'checkPoint', '方波电压(1MΩ)': 'checkPoint', '直流电压(50Ω)': 'checkPoint', '直流电压(1MΩ)': 'checkPoint', '输入阻抗': 'checkPoint', '稳幅正弦信号电压平坦度': 'checkPoint', '上升时间': 'checkPoint', }, // 铯原子 14: { 铯原子频标核查: 'checkMethod', 函数信号发生器核查: 'checkPoint', 信号源核查: 'checkMethod', }, // 小功率 15: { 校准因子: 'frequency', }, // 低频信号源 16: { 频率: 'nominalValue', 交流电压: 'nominalValue', 直流电压: 'nominalValue', 上升下降时间: 'frequency', 平坦度: 'frequency', 失真: 'frequency', }, // S参数 17: { 失配测量: 'typeValue', 衰减测量: 'typeValue', 相移测量: 'typeValue', }, // 失真度 18: { 失真度: 'frequency', }, } unit = { // 多功能校准源 1: { DCV: 'unit', ACV: 'unit', DCI: 'unit', ACI: 'unit', R: 'unit', }, // 直流稳压 2: { '直流电压': 'unit', '电源效应和负载效应': 'unit', '直接电流(直接测量)': 'unit', '直接电流(间接测量)': 'unit', '纹波电压': 'unit', }, // 多动能电气安全 3: { 直流电压: 'unit', 电阻测量: 'unit', }, // 二等铂 5: { 温度值: 'unit', RTP值: 'unit', 绝缘电阻表校准: 'unit', 测温仪电阻核查: 'unit', }, // E2等砝码 8: { E2核查: '', }, // 频谱分析仪 9: { 频率: 'unit', 功率: 'unit', 相对电平: 'unit', }, // 信号发生器 10: { 频率: 'unit', 功率: 'unit', 相对电平: 'unit', 调幅度: 'unit', 调频频偏: 'unit', 调相相偏: 'unit', 谐波: 'unit', }, // 微博衰减 11: { '1dB档位': 'frequencyUnit', '10dB档位': 'frequencyUnit', }, // 短稳 12: { '双混频时差法-5110/5120': 'outputFrequencyUnit', '差拍法-10830': 'outputFrequencyUnit', '双混频时差法-BM1308-15': 'outputFrequencyUnit', }, // 示波器 13: { '时标': 'unit', '方波电压(50Ω)': 'unit', '方波电压(1MΩ)': 'unit', '直流电压(50Ω)': 'unit', '直流电压(1MΩ)': 'unit', '输入阻抗': 'unit', '稳幅正弦信号电压平坦度': 'unit', '上升时间': 'unit', }, // 铯原子 14: { 铯原子频标核查: '', 函数信号发生器核查: 'unit', 信号源核查: 'unit', }, // 小功率 15: { 校准因子: 'frequencyUnit', }, // 低频信号源 16: { 频率: 'unit', 交流电压: 'unit', 直流电压: 'unit', 上升下降时间: 'frequencyUnit', 平坦度: 'frequencyUnit', 失真: 'frequencyUnit', }, // S参数 17: { 失配测量: '', 衰减测量: '', 相移测量: '', }, // 失真度 18: { 失真度: 'frequencyUnit', }, } ponitList.value = uniqueArray(data.filter(item => item[attribute[standardMap.value[$route.query.standardName as string]][newVal]]).map((item: any) => (item[attribute[standardMap.value[$route.query.standardName as string]][newVal]] + (item[unit[standardMap.value[$route.query.standardName as string]][newVal]] || ' ')))) } else if (standardCode.value === '4') { const data = allConfigData.value.filter((item: any) => item.checkItem === (newVal === '直流电压测量误差' ? '1' : '2')) console.log(allConfigData.value, 'allConfigData.value') ponitList.value = uniqueArray(data.map((item: any) => `${item.checkPoint}${item.unit}`)) } // 设置默认选中 if (isFirst.value) { if (standardCode.value === '18' || standardCode.value === '11' || standardCode.value === '10' || standardCode.value === '9' || standardCode.value === '14' || standardCode.value === '12' || standardCode.value === '17') { listQuery.value.ponit = ponitList.value[0] } else { listQuery.value.ponit = ponitList.value } // 设置默认一周时间 dateRange.value = [dayjs().subtract(7, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')] listQuery.value.startTime = dayjs().subtract(7, 'day').format('YYYY-MM-DD') listQuery.value.endTime = dayjs().format('YYYY-MM-DD') if (standardCode.value === '18' || standardCode.value === '11' || standardCode.value === '10' || standardCode.value === '9' || standardCode.value === '14' || standardCode.value === '12' || standardCode.value === '17') { return } searchList() isFirst.value = false } } }) watch(() => listQuery.value.ponit, (newVal) => { listQuery.value.nominal = '' nominalList.value = [] if ((typeof newVal === 'object' && newVal.length) || (typeof newVal === 'string' && newVal.length)) { if (standardCode.value === '18') { const data = allConfigData.value.filter((item: any) => item.frequency + item.frequencyUnit === newVal) nominalList.value = uniqueArray(data.map(item => `${item.nominalValue}%`)) } else if (standardCode.value === '11') { const data = allConfigData.value.filter((item: any) => `${item.frequency}${item.frequencyUnit}` === newVal) nominalList.value = uniqueArray(data.map(item => `${item.attenuationAmount}${item.attenuationAmountUnit}`)) } else if (standardCode.value === '10') { const data = allConfigData.value.filter((item: any) => `${item.checkPoint}${item.unit}` === newVal && item.params === listQuery.value.config) if (listQuery.value.config === '频率' || listQuery.value.config === '谐波') { nominalList.value = ['/'] } else if (listQuery.value.config === '功率') { nominalList.value = uniqueArray(data.map(item => `${item.power}${item.powerUnit}`)) } else if (listQuery.value.config === '相对电平') { nominalList.value = uniqueArray(data.map(item => `${item.relativeLevel}${item.relativeLevelUnit}`)) } else if (listQuery.value.config === '调幅度') { nominalList.value = uniqueArray(data.map(item => `${item.modulation}${item.relativeLevelUnit}`)) } else if (listQuery.value.config === '调频频偏') { nominalList.value = uniqueArray(data.map(item => `${item.frequencyDeviation}${item.frequencyDeviationUnit}`)) } else if (listQuery.value.config === '调相相偏') { nominalList.value = uniqueArray(data.map(item => `${item.phaseDeviation}${item.phaseDeviationUnit}`)) } } else if (standardCode.value === '9') { const data = allConfigData.value.filter((item: any) => `${item.checkPoint}${item.unit}` === newVal && item.params === listQuery.value.config) if (listQuery.value.config === '频率') { nominalList.value = ['/'] } else if (listQuery.value.config === '功率') { nominalList.value = uniqueArray(data.map(item => `${item.power}${item.powerUnit}`)) } else if (listQuery.value.config === '相对电平') { nominalList.value = uniqueArray(data.map(item => `${item.relativeLevel}${item.relativeLevelUnit}`)) } } else if (standardCode.value === '14') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config) if (listQuery.value.config === '铯原子频标核查') { nominalList.value = uniqueArray(data.filter((item: any) => `${item.checkMethod}` === newVal.trim()).map((item: any) => `${item.checkPoint}${item.unit}`)) } else if (listQuery.value.config === '函数信号发生器核查') { nominalList.value = uniqueArray(data.filter((item: any) => `${item.checkPoint}${item.unit}` === newVal).map((item: any) => `${item.electricalLevel}${item.electricalLevelUnit}`)) } else if (listQuery.value.config === '信号源核查') { nominalList.value = uniqueArray(data.filter((item: any) => `${item.checkPoint}${item.unit}` === newVal).map((item: any) => `${item.electricalLevel}${item.electricalLevelUnit}`)) } } else if (standardCode.value === '12') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config) nominalList.value = uniqueArray(data.filter((item: any) => `${item.outputFrequency}${item.outputFrequencyUnit}` === newVal).map((item: any) => `${item.testedFrequency}${item.testedFrequencyUnit}`)) if (isFirst.value) { listQuery.value.nominal = nominalList.value[0] } return } else if (standardCode.value === '17') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config) if (listQuery.value.config === '失配测量') { nominalList.value = uniqueArray(data.filter((item: any) => `${item.typeValue}` === newVal.trim()).map((item: any) => item.vswr)) } else { nominalList.value = uniqueArray(data.filter((item: any) => `${item.typeValue}` === newVal.trim()).map((item: any) => `${item.frequency}${item.frequencyUnit}`)) } if (isFirst.value) { listQuery.value.nominal = nominalList.value[0] } return } // 设置默认选中 if (isFirst.value) { listQuery.value.nominal = nominalList.value loading.value = !!nominalList.value.length searchList() setTimeout(() => { isFirst.value = false }, 2000) } } }) const type = ref() const type13List = ref<any[]>([]) watch(() => listQuery.value.config, (newVal) => { if (newVal === '稳幅正弦信号电压平坦度') { const data = uniqueArray(allConfigData.value.filter((item: any) => item.params === '稳幅正弦信号电压平坦度').map(item => item.typeValue)) type13List.value = data } }) watch(() => type.value, (newVal) => { listQuery.value.ponit = [] nominalList.ponitList = [] if (newVal) { ponitList.value = uniqueArray(allConfigData.value.filter((item: any) => item.params === '稳幅正弦信号电压平坦度' && item.typeValue === newVal).map(item => `${item.checkPoint}${item.unit}`)) } }) const nominal = ref() const nominal12List = ref<any[]>([]) watch(() => listQuery.value.nominal, (newVal) => { nominal.value = '' nominal12List.value = [] if (newVal) { if (standardCode.value === '12') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config && `${item.outputFrequency}${item.outputFrequencyUnit}` === listQuery.value.ponit && `${item.testedFrequency}${item.testedFrequencyUnit}` === newVal) nominal12List.value = uniqueArray(data.map((item: any) => `${item.sampleTime}${item.sampleTimeUnit}`)) } else if (standardCode.value === '17') { if (listQuery.value.config === '失配测量') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config && item.typeValue.trim() === listQuery.value.ponit.trim() && item.vswr === newVal) nominal12List.value = uniqueArray(data.map((item: any) => `${item.frequency}${item.frequencyUnit}`)) } else if (listQuery.value.config === '衰减测量') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config && item.typeValue.trim() === listQuery.value.ponit.trim() && `${item.frequency}${item.frequencyUnit}` === newVal) nominal12List.value = uniqueArray(data.map((item: any) => `${item.amplitude}${item.amplitudeUnit}`)) } else if (listQuery.value.config === '相移测量') { const data = allConfigData.value.filter((item: any) => item.params === listQuery.value.config && item.typeValue.trim() === listQuery.value.ponit.trim() && `${item.frequency}${item.frequencyUnit}` === newVal) nominal12List.value = uniqueArray(data.map((item: any) => `${item.phase}${item.phaseUnit}`)) } } // 设置默认选中 if (isFirst.value) { nominal.value = nominal12List.value loading.value = !!nominal12List.value.length searchList() setTimeout(() => { isFirst.value = false }, 2000) } } }) // 查询 function searchList() { xAxisData.value = [] dataTrend.value = [] data.value = [] loading.value = true let flag = true for (const i in listQuery.value) { if (i === 'ponit') { flag = !!listQuery.value[i].length } else if (i === 'type') { flag = standardCode.value === '1' || standardCode.value === '4' ? !!listQuery.value[i] : true } else if (i === 'nominal') { flag = standardCode.value === '18' || standardCode.value === '11' || standardCode.value === '10' || standardCode.value === '9' || standardCode.value === '14' ? !!listQuery.value[i].length : true } else { flag = !!listQuery.value[i] } if (standardCode.value === '12' || standardCode.value === '17') { flag = !!nominal.value.length } if (listQuery.value.type === '压力值') { flag = true } if (!flag) { break } } if (flag) { console.log(listQuery.value, 'listQuery.value') setTimeout(() => { // 模拟数据 xAxisData.value = getRangeAllTime(listQuery.value.startTime, listQuery.value.endTime).map(item => item) if (standardCode.value === '18' || standardCode.value === '11' || standardCode.value === '10' || standardCode.value === '9' || standardCode.value === '14') { dataTrend.value = listQuery.value.nominal.map((item: any) => ({ name: item, data: xAxisData.value.map(item => Math.floor(Math.random() * 100) + 1), })) if (listQuery.value.nominal[0] === '/') { dataTrend.value = [] } } else if (standardCode.value === '12' || standardCode.value === '17') { dataTrend.value = nominal12List.value.map((item: any) => ({ name: item, data: xAxisData.value.map(item => Math.floor(Math.random() * 100) + 1), })) } else { dataTrend.value = listQuery.value.ponit.map((item: any) => ({ name: item, data: xAxisData.value.map(item => Math.floor(Math.random() * 100) + 1), })) } data.value = [{ name: '稳定性合格', value: Math.floor(Math.random() * 10) + 1, }, { name: '稳定不性合格', value: Math.floor(Math.random() * 10) + 1, }] setTimeout(() => { const resize = new Event('resize') window.dispatchEvent(resize) }) loading.value = false }, 2000) } else { if (isFirst.value) { loading.value = false return } ElMessage.warning('查询条件不能为空') setTimeout(() => { loading.value = false }, 1000) } } // 清空查询 const clearList = () => { dateRange.value = [] listQuery.value = { id: '', config: '', ponit: [], startTime: '', endTime: '', type: '', nominal: '', } listQuery.value.id = '' listQuery.value.config = '' listQuery.value.ponit = [] allConfigData.value = [] configList.value = [] ponitList.value = [] xAxisData.value = [] dataTrend.value = [] data.value = [] } </script> <template> <div> <!-- 查询条件 --> <search-area :need-clear="true" @search="searchList" @clear="clearList"> <search-item> <el-select v-model="listQuery.id" placeholder="智能模型" class="short-input" filterable clearable style="width: 170px;" > <el-option v-for="item in deviceList" :key="item.id" :label="`${item.equipmentName}-${item.model}-${item.manufactureNo}`" :value="item.id" /> </el-select> </search-item> <search-item v-if="standardCode === '1' || (standardCode === '4')"> <el-select v-model="listQuery.type" placeholder="分类" class="short-input" filterable clearable style="width: 170px;" > <el-option v-for="item in TypeList" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item v-if="(standardCode !== '8' && standardCode !== '15' && standardCode !== '18') || (standardCode === '4' && listQuery.type !== '压力值')"> <el-select v-model="listQuery.config" placeholder="核查项" class="short-input" filterable clearable style="width: 170px;" > <el-option v-for="item in configList" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item v-if="standardCode === '13' && listQuery.config === '稳幅正弦信号电压平坦度'"> <el-select v-model="type" placeholder="类型" class="short-input" filterable clearable style="width: 170px;" > <el-option v-for="item in type13List" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item> <el-select v-model="listQuery.ponit" placeholder="核查点" class="short-input" filterable clearable :multiple="standardCode !== '18' && standardCode !== '11' && standardCode !== '10' && standardCode !== '9' && standardCode !== '14' && standardCode !== '12' && standardCode !== '17'" collapse-tags style="width: 200px;" > <el-option v-for="item in ponitList" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item v-if="standardCode === '18' || standardCode === '11' || standardCode === '10' || standardCode === '9' || standardCode === '14' || standardCode === '12' || standardCode === '17'"> <el-select v-model="listQuery.nominal" placeholder="" class="short-input" filterable clearable :multiple="standardCode === '18' || standardCode === '11' || standardCode === '10' || standardCode === '9' || standardCode === '14'" collapse-tags style="width: 200px;" > <el-option v-for="item in nominalList" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item v-if="standardCode === '12' || standardCode === '17'"> <el-select v-model="nominal" placeholder="" class="short-input" filterable clearable :multiple="standardCode === '12' || standardCode === '17'" collapse-tags style="width: 200px;" > <el-option v-for="item in nominal12List" :key="item" :label="item" :value="item" /> </el-select> </search-item> <search-item> <el-date-picker v-model="dateRange" class="short-input" type="daterange" range-separator="至" format="YYYY-MM-DD" value-format="YYYY-MM-DD" start-placeholder="开始日期" end-placeholder="结束日期" /> </search-item> </search-area> <!-- 图表-展示 --> <div v-loading="loading" class="show-content"> <div class="board-item"> <div class="board-header"> <div class="board-title"> 核查数据变化趋势 </div> <div class="board-select" /> </div> <!-- v-loading="loading" --> <div class="board-chart"> <line-chart v-if="xAxisData.length" :x-axis-data="xAxisData" :data="dataTrend" :smooth="false" :grid="{ top: 47, left: 5, right: 5, bottom: 10, containLabel: true }" :gradient="false" :legend="{ itemWidth: 8, itemHeight: 2, type: 'scroll', orient: 'horizontal', icon: 'roundRect', left: '0', top: '5' }" /> <el-empty v-else :image-size="100" description="暂无数据" /> </div> </div> <div class="board-item-device"> <div class="board-header"> <div class="board-title"> 核查结果分析 </div> <div class="board-select" /> </div> <!-- v-loading="loading" --> <div class="board-chart"> <pie-chart v-show="data.length" :data="data" :center="['50%', '60%']" label-formatter="{style1|{c}}" label-position="outside" radius="70%" :grid="{ top: 50, left: 15, right: 15, bottom: 10, containLabel: true }" :legend="{ itemWidth: 8, itemHeight: 8, type: 'scroll', orient: 'horizontal', icon: 'roundRect', left: '0', top: '10' }" /> <el-empty v-show="!data.length" :image-size="100" description="暂无数据" /> </div> </div> </div> </div> </template> <style lang="scss" scoped> .board-item { margin: 5px 0; padding: 2px 10px; // border: 2px solid #cedaf6; box-sizing: content-box; border-radius: 6px; width: 65%; .board-header { display: flex; justify-content: space-between; .board-title { color: #0dabf1; font-weight: 700; } } .board-chart { height: 300px; } } .board-item-device { margin: 5px 0; padding: 2px 10px; // border: 2px solid #cedaf6; box-sizing: content-box; width: 35%; .board-header { display: flex; justify-content: space-between; .board-title { color: #0dabf1; font-weight: 700; } } .board-chart { height: 300px; } } .show-content { display: flex; } </style>