quanyawei
2024-11-15 a19b20afeacf84c1c743c76b5018bcfbddac2270
src/views/UVA/index.vue
@@ -1327,16 +1327,36 @@
      })
    },
    initDataParams (res) {
      let options = {TemMergeAvg: '合并范围均值', TemMergedHighest: '合并范围最高值', TemMergedLowest: '合并范围最低值', TemNotMergedAvg: '未合并范围均值', TemNotMergedHighest: '未合并范围最高值', TemNotMergedLowest: '未合并范围最低值'}
      let optionKeys = Object.keys(options)
      this.temMergeDataList = optionKeys.reduce((acc, key) => {
        // 使用正则表达式匹配data对象的键
        let regex = new RegExp(key, 'i')
        let matchedDataKey = Object.keys(res).find(k => regex.test(k))
        if (matchedDataKey) {
      const filteredObject = {}
      for (let key in res) {
        if (key.includes(this.sensorKey)) {
          filteredObject[key] = res[key]
        }
      }
      console.log('filteredObject', filteredObject)
      let options = {
        MergeAvg: '合并范围均值',
        MergedHighest: '合并范围最高值',
        MergedLowest: '合并范围最低值',
        NotMergedAvg: '未合并范围均值',
        NotMergedHighest: '未合并范围最高值',
        NotMergedLowest: '未合并范围最低值'
      }
      let notMergedKeys = Object.keys(filteredObject).filter(k => k.match(/(NotMergedHighest|NotMergedLowest|NotMergedAvg)/i))
      let mergedKeys = Object.keys(filteredObject).filter(k => !k.match(/(NotMergedHighest|NotMergedLowest|NotMergedAvg)/i))
      this.temMergeDataList = Object.keys(options).reduce((acc, key) => {
        let valueKey = mergedKeys.find(k => k.toLowerCase().includes(key.toLowerCase()))
        if (!valueKey && notMergedKeys.length) {
          valueKey = notMergedKeys.find(k => k.toLowerCase().includes(key.replace('NotMerged', '').toLowerCase()))
        }
        if (valueKey) {
          acc.push({
            key: key,
            name: options[key],
            value: res[matchedDataKey]
            value: filteredObject[valueKey]
          })
        }
        return acc