| | |
| | | <div class="w-full flex-column"> |
| | | <div class="flex mb-4 flex-wrap flex-0"> |
| | | <!-- TimeRange v-model 跟 @change 中的值会不一样,以@change 中为准 --> |
| | | <template v-if="visibleParams && visibleParams.length > 0 && showFilter "> |
| | | <template v-if="visibleParams && visibleParams.length > 0 && showFilter"> |
| | | <component |
| | | class="flex-0 m-2" |
| | | v-model="visibleParams[index].value" |
| | |
| | | :data="item" |
| | | :originData="originData" |
| | | @change="(val) => handleQueryChange(val, item)" |
| | | :disabled="chartLoading ||disabled" |
| | | :disabled="chartLoading || disabled" |
| | | ></component> |
| | | </template> |
| | | <slot> </slot> |
| | |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | disabled:{ |
| | | type:Boolean, |
| | | default:false, |
| | | } |
| | | disabled: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | }) as { |
| | | data: any; |
| | | summaryIndex: number; |
| | |
| | | } |
| | | }; |
| | | |
| | | const getFilterList = () => { |
| | | const curAgentKey = props.data.agent_key; |
| | | |
| | | // 相同 agent_key 下所有 filter 请求参数 |
| | | const filterList = ((props as any).originData?.content?.origin?.summary ?? []).reduce((preVal, curVal) => { |
| | | if (curVal.agent_key !== curAgentKey) return preVal; |
| | | |
| | | const filter = (curVal.filter ?? []).reduce((subPreVal, subCurVal) => { |
| | | if (subCurVal.type === RecordSetParamsType.TimeRange) { |
| | | subPreVal.push( |
| | | ...[ |
| | | { |
| | | update: subCurVal.update, |
| | | value: subCurVal.start_value, |
| | | path: subCurVal.start_path, |
| | | }, |
| | | { |
| | | update: subCurVal.update, |
| | | value: subCurVal.end_value, |
| | | path: subCurVal.end_path, |
| | | }, |
| | | ] |
| | | ); |
| | | } else { |
| | | subPreVal.push({ |
| | | update: subCurVal.update, |
| | | value: subCurVal.step_value, |
| | | path: subCurVal.step_path, |
| | | }); |
| | | } |
| | | |
| | | return subPreVal; |
| | | }, []); |
| | | |
| | | preVal = preVal.concat(filter); |
| | | |
| | | return preVal; |
| | | }, []); |
| | | return filterList; |
| | | }; |
| | | const handleQueryChange = async (val: any, item: RecordSetParamsItem) => { |
| | | if (!val) return; |
| | | const historyId = (props as any).originData.historyId; |
| | | const curAgentKey = props.data.agent_key; |
| | | let res = null; |
| | | |
| | | // 改变原始值 |
| | |
| | | } else { |
| | | item.origin.step_value = val; |
| | | } |
| | | |
| | | const filterList = getFilterList(); |
| | | try { |
| | | // 相同 agent_key 下所有 filter 请求参数 |
| | | const filterList = ((props as any).originData?.content?.origin?.summary ?? []).reduce((preVal, curVal) => { |
| | | if (curVal.agent_key !== curAgentKey) return preVal; |
| | | |
| | | const filter = (curVal.filter ?? []).reduce((subPreVal, subCurVal) => { |
| | | if (subCurVal.type === RecordSetParamsType.TimeRange) { |
| | | subPreVal.push( |
| | | ...[ |
| | | { |
| | | update: subCurVal.update, |
| | | value: subCurVal.start_value, |
| | | path: subCurVal.start_path, |
| | | }, |
| | | { |
| | | update: subCurVal.update, |
| | | value: subCurVal.end_value, |
| | | path: subCurVal.end_path, |
| | | }, |
| | | ] |
| | | ); |
| | | } else { |
| | | subPreVal.push({ |
| | | update: subCurVal.update, |
| | | value: subCurVal.step_value, |
| | | path: subCurVal.step_path, |
| | | }); |
| | | } |
| | | |
| | | return subPreVal; |
| | | }, []); |
| | | |
| | | preVal = preVal.concat(filter); |
| | | |
| | | return preVal; |
| | | }, []); |
| | | const params = { |
| | | history_id: historyId, |
| | | // 查询前后 agent_key 不会变 |
| | |
| | | :header-cell-style="tableHeaderCellStyle" |
| | | :data="tableData" |
| | | @row-click="recordSelectChange" |
| | | @sort-change="sortChange" |
| | | :spanMethod="objectSpanMethod" |
| | | class="w-full h-full" |
| | | highlightCurrentRow |
| | |
| | | :type="item.type" |
| | | :label="item.label" |
| | | :width="item.width" |
| | | :sortable="item.sortable" |
| | | :sortable="item.sortable?'custom':false" |
| | | :key="item.prop" |
| | | :prop="item.prop" |
| | | @sortChange="sortChange" |
| | | show-overflow-tooltip |
| | | /> |
| | | </template> |
| | |
| | | :type="item.type" |
| | | :label="item.label" |
| | | :width="item.width" |
| | | :sortable="item.sortable" |
| | | :sortable="item.sortable?'custom':false" |
| | | :key="item.prop" |
| | | :prop="item.prop" |
| | | |
| | | show-overflow-tooltip |
| | | /> |
| | | </template> |
| | |
| | | import { ChartTypeEnum } from '../../../types'; |
| | | import { axisLabelFormatter } from '/@/utils/chart'; |
| | | import { LocalPlus } from '/@/utils/storage'; |
| | | import { af } from 'element-plus/es/locale'; |
| | | |
| | | const props = defineProps({ |
| | | data: { |
| | |
| | | ...item, |
| | | width: 0, |
| | | label: item.title, |
| | | // sortable: item.type === 'time', |
| | | sortable: !!item.name, |
| | | prop: index + '', |
| | | isShow: isShow, |
| | | } as TableCol; |
| | |
| | | }); |
| | | |
| | | //#region ====================== 表格过滤参数 ====================== |
| | | |
| | | const queryLoading = ref(false); |
| | | const queryUpdate = async (val: any, item: any) => { |
| | | const historyId = (props as any).originData.historyId; |
| | | const getFilterList = () =>{ |
| | | const curAgentKey = props.data.agent_key; |
| | | let res = null; |
| | | |
| | | // 改变原始值 |
| | | if (item.type === RecordSetParamsType.StringInput) { |
| | | item.origin.value = val; |
| | | } else if (item.type === RecordSetParamsType.TimeRange) { |
| | | item.origin.start_value = val[0]; |
| | | item.origin.end_value = val[1]; |
| | | } else if (item.type === RecordSetParamsType.Step) { |
| | | item.origin.step_value = val; |
| | | } |
| | | try { |
| | | // 相同 agent_key 下所有 filter 请求参数 |
| | | const filterList = ((props as any).originData?.content?.origin?.summary ?? []).reduce((preVal, curVal) => { |
| | | // 相同 agent_key 下所有 filter 请求参数 |
| | | const filterList = ((props as any).originData?.content?.origin?.summary ?? []).reduce((preVal, curVal) => { |
| | | if (curVal.agent_key !== curAgentKey) return preVal; |
| | | |
| | | const filter = (curVal.filter ?? []).reduce((subPreVal, subCurVal) => { |
| | |
| | | |
| | | return preVal; |
| | | }, []); |
| | | |
| | | return filterList; |
| | | } |
| | | const queryLoading = ref(false); |
| | | let orderDimName = ''; |
| | | const queryUpdate = async (val?: any, item?: any) => { |
| | | const historyId = (props as any).originData.historyId; |
| | | let res = null; |
| | | |
| | | if(item){ |
| | | // 改变原始值 |
| | | if (item.type === RecordSetParamsType.StringInput) { |
| | | item.origin.value = val; |
| | | } else if (item.type === RecordSetParamsType.TimeRange) { |
| | | item.origin.start_value = val[0]; |
| | | item.origin.end_value = val[1]; |
| | | } else if (item.type === RecordSetParamsType.Step) { |
| | | item.origin.step_value = val; |
| | | } |
| | | } |
| | | |
| | | |
| | | const filterList = getFilterList(); |
| | | try { |
| | | |
| | | const params = { |
| | | history_id: historyId, |
| | | // 查询前后 agent_key 不会变 |
| | | agent_key: props.data.agent_key, |
| | | filter_json: JSON.stringify(filterList), |
| | | order_dim_name:orderDimName |
| | | }; |
| | | res = await curveQuery(params); |
| | | queryLoading.value = true; |
| | |
| | | }; |
| | | //#endregion |
| | | |
| | | const sortChange = ({column,prop,order}) =>{ |
| | | let sendOrder ; |
| | | if(order==='descending'){ |
| | | sendOrder = 'desc' |
| | | }else if(order==='ascending'){ |
| | | sendOrder = 'asc' |
| | | }else{ |
| | | sendOrder = ''; |
| | | } |
| | | const colName = colList.value[prop].name; |
| | | const sendOrderName = sendOrder ?`${colName},${sendOrder}`:''; |
| | | orderDimName = sendOrderName; |
| | | queryUpdate() |
| | | } |
| | | |
| | | defineExpose({ |
| | | updateAll, |
| | | updateCurrent, |
| | |
| | | host: '0.0.0.0', |
| | | port: env.VITE_PORT as unknown as number, |
| | | open: JSON.parse(env.VITE_OPEN), |
| | | hmr: true, |
| | | hmr: false, |
| | | }, |
| | | build: { |
| | | // outDir: 'dist/' + mode.mode, |