wujingjing
2024-10-25 7d68c674fc27260c59ab66b349c1f3158c0c0843
Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.V1.0 into test
已修改2个文件
已添加1个文件
123 ■■■■ 文件已修改
src/views/project/ch/home/component/waterRight/bottom.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/ch/home/component/waterRight/center.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/types/metrics/index.ts 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/ch/home/component/waterRight/bottom.vue
@@ -32,7 +32,7 @@
        </div>
        <div class="block main" v-show="state.applicationScenarios && state.applicationScenarios.length > 3">
            <el-carousel height="80">
            <el-carousel height="80" :interval="5000" indicator-position="none">
                <el-carousel-item v-for="group in groupedArray" :key="group" class="set-carousel-item">
                    <div
                        class="main_item flex cursor-pointer"
@@ -58,7 +58,7 @@
import { getSectionList } from '/@/api/ai/chat';
import router from '/@/router';
import { activeRoomId, activeSectionAId, sectionAList, setRoomConfig } from '/@/stores/chatRoom';
import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics';
let state = reactive({
    applicationScenarios: [],
    scenariosIds: [],
@@ -94,8 +94,14 @@
    ];
    res.groups.forEach((sectionItem, index) => {
        sectionItem.Icon = iconList[index];
        if (
            sectionItem.group_type != OptClassificationMap[classificationEnum.Office] &&
            sectionItem.group_type != OptClassificationMap[classificationEnum.Knowledge]
        ) {
            result.push(sectionItem);
        }
    });
    state.applicationScenarios = res.groups;
    state.applicationScenarios = result;
    sectionAList.value = res.groups;
    res.groups?.[0] && changeScenarios(res.groups[0]);
};
src/views/project/ch/home/component/waterRight/center.vue
@@ -11,23 +11,26 @@
                <i class="myiconfont icon-shuaxin"></i>
            </div>
        </div>
        <div class="main">
            <div
                class="main_item flex items-center cursor-pointer"
                v-for="(item, index) in state.exampleContent"
                :key="index"
                :class="{ main_item_active: item.sample_id === activeSampleId }"
                @click="changeExample(item)"
            >
                <div class="left flex items-center justify-center" :class="['color' + index]">
                    <img :src="item.Icon" alt="" />
                </div>
                <div class="right">
                    <h4>{{ item.sample_title }}</h4>
                    <p>{{ item.sample_question }}</p>
                </div>
            </div>
            <el-carousel height="80" :interval="5000" indicator-position="none">
                <el-carousel-item v-for="group in batchSourceData" :key="group" class="set-carousel-item">
                    <div
                        class="main_item flex items-center cursor-pointer"
                        v-for="(item, index) in state.exampleContent"
                        :key="index"
                        :class="{ main_item_active: item.sample_id === activeSampleId }"
                        @click="changeExample(item)"
                    >
                        <div class="left flex items-center justify-center" :class="['color' + index]">
                            <img :src="item.Icon" alt="" />
                        </div>
                        <div class="right">
                            <h4>{{ item.sample_title }}</h4>
                            <p>{{ item.sample_question }}</p>
                        </div>
                    </div>
                </el-carousel-item>
            </el-carousel>
        </div>
    </div>
</template>
@@ -48,6 +51,7 @@
onMounted(() => {
    getSelectListSample();
});
//换一批数据源
const groupedArray = computed(() => {
    const groups = [];
    let i = 0;
@@ -55,6 +59,15 @@
        groups.push(state.exampleRandomContent.slice(i, (i += 4)));
    }
    return groups;
});
//自动播放
const batchSourceData = computed(() => {
    const batch = [];
    let i = 0;
    while (exampleList.value.length > i) {
        batch.push(exampleList.value.slice(i, (i += 4)));
    }
    return batch;
});
//获取模版列表
const getSelectListSample = async () => {
@@ -198,6 +211,10 @@
                }
            }
        }
        .set-carousel-item {
            display: flex;
            flex-wrap: wrap;
        }
    }
}
@@ -216,4 +233,11 @@
:deep(.el-drawer__body) {
    overflow-x: hidden;
}
:deep(.el-carousel--horizontal) {
    width: 100%;
}
:deep(.el-carousel__container) {
    width: 100%;
    height: 200px !important;
}
</style>
src/views/types/metrics/index.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
/// æŒ‡æ ‡æ•æ„Ÿåº¦
export enum eMetricOps {
    Unlimited = 1,
    Ordinary = 2,
    Important = 3,
    Core = 4,
}
export const eMetrics_Ops = {
    [eMetricOps.Unlimited]: '限制',
    [eMetricOps.Ordinary]: '普通',
    [eMetricOps.Important]: '重要',
    [eMetricOps.Core]: '核心',
} as const;
export const eMetrics_Ops_Color = {
    [eMetricOps.Unlimited]: { fontColor: '#0958d9', bgColor: '#e6f4ff', borderColor: '#91caff' },
    [eMetricOps.Ordinary]: { fontColor: '#000000e0', bgColor: '#fafafa', borderColor: '#d9d9d9' },
    [eMetricOps.Important]: { fontColor: '#4fd40d', bgColor: '#e8ffee', borderColor: '#97ff96' },
    [eMetricOps.Core]: { fontColor: '#d4380d', bgColor: '#fff2e8', borderColor: '#ffbb96' },
} as const;
/// ç»´åº¦ä¸‹é’»
export enum eDrillingOps {
    Department = 0,
    User = 1,
}
export const eDrilling_Ops = {
    [eDrillingOps.Department]: '部门',
    [eDrillingOps.User]: '用户',
} as const;
/// ç»´åº¦ç­›é€‰
export enum eDimensionFilterOps {
    All = 0,
    IN = 1,
    LIKE = 2,
}
export const eDimensionFilter_Ops = {
    [eDimensionFilterOps.All]: '=',
    [eDimensionFilterOps.IN]: 'IN',
    [eDimensionFilterOps.LIKE]: 'LIKE',
} as const;
// ä¸šåŠ¡åˆ†ç±»
export enum classificationEnum {
    /** @description ä¸šåŠ¡ */
    Business = 1,
    /** @description åŠžå…¬ */
    Office = 2,
    /** @description çŸ¥è¯† */
    Knowledge = 3,
}
export const OptClassificationMap = {
    [classificationEnum.Business]: '业务场景',
    [classificationEnum.Office]: '办公助手',
    [classificationEnum.Knowledge]: '知识库',
};