gerson
2024-07-27 ed1170014712737986ddcb4d760907c4b1d5f686
src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue
@@ -1,23 +1,29 @@
<template>
   <div class="w-full">
      <div class="flex mb-4 flex-wrap" v-if="visibleParams && visibleParams.length > 0">
      <div class="flex mb-4 flex-wrap">
         <!-- TimeRange v-model 跟 @change 中的值会不一样,以@change 中为准 -->
         <component
            class="flex-0 m-1"
            v-model="paramsValueList[index].value"
            v-for="(item, index) in visibleParams as any"
            :key="item.id"
            :id="item.id"
            :is="recordSetMapCom[item.type]"
            :data="item"
            :originData="originData"
            @change="(val) => handleQueryChange(val, item)"
            :disabled="chartLoading"
         ></component>
         <template v-if="visibleParams && visibleParams.length > 0">
            <component
               class="flex-0 m-1"
               v-model="paramsValueList[index].value"
               v-for="(item, index) in visibleParams as any"
               :key="item.id"
               :id="item.id"
               :is="recordSetMapCom[item.type]"
               :data="item"
               :originData="originData"
               @change="(val) => handleQueryChange(val, item)"
               :disabled="chartLoading"
            ></component>
         </template>
         <slot>
         </slot>
         <YRange v-model="yRange" @input="yRangeInput" />
         <el-checkbox class="m-1" v-model="isMultiCompare" label="多日对比" @change="multiCompareChange"></el-checkbox>
      </div>
      <div class="h-[20rem]" v-resize="chartContainerResize" v-loading="chartLoading">
      <div :style="{ height: chartHeight }" v-resize="chartContainerResize" v-loading="chartLoading">
         <div ref="chartRef"></div>
      </div>
   </div>
@@ -60,6 +66,10 @@
   summaryIndex: {
      type: Number,
   },
   chartHeight: {
      type: String,
      default: '20rem',
   },
}) as {
   data: RecordSet;
};
@@ -89,7 +99,7 @@
         } else {
            newList.push(current);
         }
      }else{
      } else {
         newList.push(current);
      }
   }
@@ -192,6 +202,9 @@
const drawChart = () => {
   const data = props.data;
   if (!data || !data.cols || !data.values) {
      return;
   }
   preData = data;
   const xType = 'time';
   timeIndex = data.cols.findIndex((item) => item.type === 'time');
@@ -244,10 +257,9 @@
   let res = null;
   try {
      if(item.type===RecordSetParamsType.TimeRange){
         changeMap.set(item.range[0].id,val[0]),
         changeMap.set(item.range[1].id,val[1])
      }else{
      if (item.type === RecordSetParamsType.TimeRange) {
         changeMap.set(item.range[0].id, val[0]), changeMap.set(item.range[1].id, val[1]);
      } else {
         changeMap.set(item.id, val);
      }
      const paramsObj = {};
@@ -393,5 +405,9 @@
   }
};
//#endregion
defineExpose({
   drawChart,
});
</script>
<style scoped lang="scss"></style>