// import { uniqueMultiArray } from '@/utils/Array' // 稳定性所使用的一些公共的方法 /** * 清空六个日期的值 * @param item 清空的数据,Object */ export function clearDateValue(item: any) { // 清除表中数据 item.testValueOne = '' item.testValueTwo = '' item.testValueThree = '' item.testValueFour = '' item.testValueFive = '' item.testValueSix = '' return item } /** * 处理详情表头 * @param columns 表头 * @param list 表格数据 * @param columnsNum 示值的索引 */ export function handleDetailTableTableHead( columns: any, list: any, columnsNum = 5, ) { if (!list.length) { return false } if (list[0].testValueOneDate !== '') { columns[columnsNum].children[0].text = list[0].testValueOneDate // 填表头 } if (list[0].testValueTwoDate !== '') { columns[columnsNum].children[1].text = list[0].testValueTwoDate // 填表头 } if (list[0].testValueThreeDate !== '') { columns[columnsNum].children[2].text = list[0].testValueThreeDate // 填表头 } if (list[0].testValueFourDate !== '') { columns[columnsNum].children[3].text = list[0].testValueFourDate // 填表头 } if (list[0].testValueFiveDate !== '') { columns[columnsNum].children[4].text = list[0].testValueFiveDate // 填表头 } if (list[0].testValueSixDate !== '') { columns[columnsNum].children[5].text = list[0].testValueSixDate // 填表头 } return columns } /** * 处理保存日期参数 * @param columns 表头 * @param list 表格数据 * @param columnsNum 示值的索引 */ export function handleSaveDateParams(columns: any, list: any, columnsNum = 5) { if (!list.length) { return false } list = list.map( (item: { testValueFiveDate: string testValueFourDate: string testValueThreeDate: string testValueTwoDate: string testValueOneDate: string }) => { return { ...item, testValueFiveDate: columns[columnsNum].children[4].text === '-' ? '' : columns[columnsNum].children[4].text, // 核查读数5日期(稳定性) testValueFourDate: columns[columnsNum].children[3].text === '-' ? '' : columns[columnsNum].children[3].text, // 核查读数4日期(稳定性) testValueThreeDate: columns[columnsNum].children[2].text === '-' ? '' : columns[columnsNum].children[2].text, // 核查读数3日期(稳定性) testValueTwoDate: columns[columnsNum].children[1].text === '-' ? '' : columns[columnsNum].children[1].text, // 核查读数2日期(稳定性) testValueOneDate: columns[columnsNum].children[0].text === '-' ? '' : columns[columnsNum].children[0].text, // 核查读数1日期(稳定性) } }, ) return list } /** * 处理稳定性表格数据 * @param value 所有查询到的稳定性历史数据 * @param item 要处理的行数据 * @param stabilityColumns 稳定性表头 * @param num 控制表头日期从第几个开始填 ---查询历史日期从最后一个填,核查数据需要从倒数第二个填,因为最后一个要是本次核查日期 * @param columnsNum 示值的索引 * @param 参与比较的属性 * @returns itemData 处理完的行数据 columnsData 表头 */ export function solveHistoryIndicationTableData( value: any, item: any, stabilityColumns: any, num = 4, columnsNum = 5, belongStandardEquipment = '', ) { let list = [] stabilityColumns = JSON.parse(JSON.stringify(stabilityColumns)) // 示波器、信号发生器 // 核查点+单位 if (belongStandardEquipment === '13' || belongStandardEquipment === '10' || belongStandardEquipment === '1' || belongStandardEquipment === '3' || belongStandardEquipment === '4' || belongStandardEquipment === '5') { // 先找出此行数据的所有日期 list = value.filter( (i: any) => i.params === item.params && i.checkPoint === item.checkPoint && i.unit === item.unit, ) } else if (belongStandardEquipment === '15') { // 先找出此行数据的所有日期 list = value.filter((i: any) => i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit) } else if (belongStandardEquipment === '17') { // S参数 // 先找出此行数据的所有日期 list = value.filter((i: any) => { if (i.params === '失配测量') { return i.typeValue === item.typeValue && i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit } else if (i.params === '衰减测量') { return i.typeValue === item.typeValue && i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit && i.amplitude === item.amplitude && i.amplitudeUnit === item.amplitudeUnit } else if (i.params === '相移测量') { return i.typeValue === item.typeValue && i.phase === item.phase && i.phaseUnit === item.phaseUnit && i.amplitude === item.amplitude && i.amplitudeUnit === item.amplitudeUnit } }) } else if (belongStandardEquipment === '7') { // 精密漏点仪 // 先找出此行数据的所有日期 list = value.filter((i: any) => { return i.equipmentName === item.equipmentName && i.typeValue === item.typeValue && i.relativeDimension === item.relativeDimension && i.checkPoint === item.checkPoint }) } else if (belongStandardEquipment === '14') { // 铯原子 // 先找出此行数据的所有日期 list = value.filter((i: any) => { if (i.params === '铯原子频标核查') { return i.checkMethod === item.checkMethod && i.checkPoint === item.checkPoint } else if (i.params === '函数信号发生器核查') { return i.checkPoint === item.checkPoint && i.electricalLevel === item.electricalLevel && i.electricalLevelUnit === item.electricalLevelUnit } else if (i.params === '信号源核查') { return i.checkPoint === item.checkPoint && i.amplitude === item.amplitude && i.amplitudeUnit === item.amplitudeUnit } }) } else if (belongStandardEquipment === '16') { // 低频信号源 // 先找出此行数据的所有日期 list = value.filter((i: any) => { if (i.params === '频率') { return i.nominalValue === item.nominalValue && i.unit === item.unit } else if (i.params === '交流电压') { return i.nominalValue === item.nominalValue && i.unit === item.unit && i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit } else if (i.params === '直流电压') { return i.nominalValue === item.nominalValue && i.unit === item.unit } else if (i.params === '平坦度') { return i.nominalValue === item.nominalValue && i.unit === item.unit && i.amplitude === item.amplitude && i.amplitudeUnit === item.amplitudeUnit } else if (i.params === '失真') { return i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit && i.nominalValue === item.nominalValue && i.unit === item.unit } }) } else if (belongStandardEquipment === '18') { // 失真度 // 先找出此行数据的所有日期 list = value.filter((i: any) => { return i.frequency === item.frequency && i.frequencyUnit === item.frequencyUnit && i.nominalValue === item.nominalValue }) } else if (belongStandardEquipment === '8') { // E2等砝码 // 先找出此行数据的所有日期---核查点 list = value.filter( (i: any) => i.checkPoint === item.checkPoint, ) console.log('E2等砝码List', list) } else if (belongStandardEquipment === '12' || belongStandardEquipment === '11') { // 短稳,微波衰减 // 先找出此行数据的所有日期---核查点 list = value.filter( (i: any) => i.params === item.params, ) } else { // 先找出此行数据的所有日期---核查点 list = value.filter( (i: any) => i.params === item.params && i.checkPoint === item.checkPoint, ) } if (list.length) { // 按照时间倒序排序 list.sort((i: { testValueDate: string }, j: { testValueDate: string }) => { const time1 = new Date(j.testValueDate).getTime() const time2 = new Date(i.testValueDate).getTime() return time1 - time2 }) // 根据日期去重 // list = uniqueMultiArray(list, 'testValueDate') list.forEach( ( e: { testValueDate: string; testValue: string; id: string }, index: number, ) => { stabilityColumns[columnsNum].children![num - index].text = e.testValueDate // 填表头 stabilityColumns[columnsNum].children![num - index].checkDateDetailId = e.id // id用来查对应日期的详情 item[stabilityColumns[columnsNum].children![num - index].value] = e.testValue // 填表格数据 }, ) } return { itemData: item, columnsData: stabilityColumns, } } /** * * @param list 稳定性表格 * @param length fetchHistory查询稳定性的表头有几个日期 * @returns */ export function solveListStability(list: any) { // 这里处理问题:过滤掉历史日期查询不到的数据,达到历史日期查询什么就展示什么的问题 // 存在接口查到第二列数据,但是历史日期接口缺没有第二列 const tempList = list.map((item: any) => { return { ...item, // 清除表中数据 testValueOne: '', testValueTwo: '', testValueThree: '', testValueFour: '', testValueFive: '', testValueSix: '', averageValueOne: '', averageValueTwo: '', averageValueThree: '', averageValueFour: '', averageValueFive: '', averageValueSix: '', } }) return tempList }