wujingjing
2024-11-12 545109f5b8fe240cb12ea613fc58aec1551b1b09
排序
已修改3个文件
163 ■■■■■ 文件已修改
src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/chat/chatComponents/summaryCom/components/recordSet/RecordSet.vue
@@ -3,7 +3,7 @@
    <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"
@@ -14,7 +14,7 @@
                    :data="item"
                    :originData="originData"
                    @change="(val) => handleQueryChange(val, item)"
                    :disabled="chartLoading ||disabled"
                    :disabled="chartLoading || disabled"
                ></component>
            </template>
            <slot> </slot>
@@ -104,10 +104,10 @@
        type: Boolean,
        default: true,
    },
    disabled:{
        type:Boolean,
        default:false,
    }
    disabled: {
        type: Boolean,
        default: false,
    },
}) as {
    data: any;
    summaryIndex: number;
@@ -448,10 +448,49 @@
    }
};
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;
    // 改变原始值
@@ -461,42 +500,9 @@
    } 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 不会变
src/components/chat/chatComponents/summaryCom/components/recordSetTable/RecordSetTable.vue
@@ -28,6 +28,7 @@
                    :header-cell-style="tableHeaderCellStyle"
                    :data="tableData"
                    @row-click="recordSelectChange"
                    @sort-change="sortChange"
                    :spanMethod="objectSpanMethod"
                    class="w-full h-full"
                    highlightCurrentRow
@@ -42,9 +43,10 @@
                                :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>
@@ -57,9 +59,10 @@
                                    :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>
@@ -114,6 +117,7 @@
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: {
@@ -254,7 +258,7 @@
                ...item,
                width: 0,
                label: item.title,
                // sortable: item.type === 'time',
                sortable: !!item.name,
                prop: index + '',
                isShow: isShow,
            } as TableCol;
@@ -590,25 +594,11 @@
});
//#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) => {
@@ -648,11 +638,37 @@
            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;
@@ -1056,6 +1072,21 @@
};
//#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,
vite.config.ts
@@ -41,7 +41,7 @@
            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,