From 7d68c674fc27260c59ab66b349c1f3158c0c0843 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期五, 25 十月 2024 15:33:09 +0800 Subject: [PATCH] Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.V1.0 into test --- src/views/types/metrics/index.ts | 55 ++++++++++++++++++ src/views/project/ch/home/component/waterRight/center.vue | 56 +++++++++++++----- src/views/project/ch/home/component/waterRight/bottom.vue | 12 +++- 3 files changed, 104 insertions(+), 19 deletions(-) diff --git a/src/views/project/ch/home/component/waterRight/bottom.vue b/src/views/project/ch/home/component/waterRight/bottom.vue index 8ed202d..bff67b9 100644 --- a/src/views/project/ch/home/component/waterRight/bottom.vue +++ b/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]); }; diff --git a/src/views/project/ch/home/component/waterRight/center.vue b/src/views/project/ch/home/component/waterRight/center.vue index b711449..a9d96e6 100644 --- a/src/views/project/ch/home/component/waterRight/center.vue +++ b/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> diff --git a/src/views/types/metrics/index.ts b/src/views/types/metrics/index.ts new file mode 100644 index 0000000..baa63cc --- /dev/null +++ b/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]: '鐭ヨ瘑搴�', +}; \ No newline at end of file -- Gitblit v1.9.3