wujingjing
2024-07-15 0b238cbcce972e907fb2f6864e5f0c2772aeba0c
src/views/project/ch/home/Scenario.vue
@@ -18,28 +18,29 @@
            class="productivity"
            v-for="product in state.productivityList"
            :key="product.section_id"
            v-show="product.children && product.children.length > 0"
            v-show="state.productivityList && state.productivityList.length > 0"
         >
            <div class="mb-[24px]">
               <span class="productivity-span"><i></i>{{ product.section_name }}</span>
            </div>
            <div class="flex flex-wrap items-center">
               ,
               <div class="list_app" v-for="item in product.children" :key="item.section_id" @click="changeApp(product.section_id, item)">
                  <img :src="item.Icon" alt="" class="w-[20px] h-[20px] mr-[14px]" />
                  <span class="text-[14px] text-[#333f4e]">{{ item.section_name }}</span>
               <div class="list_app" @click="changeApp(product.section_id, product)">
                  <img :src="product.Icon" alt="" class="w-[20px] h-[20px] mr-[14px]" />
                  <span class="text-[14px] text-[#333f4e]">{{ product.section_name }}</span>
               </div>
            </div>
         </div>
         <el-empty description="暂无数据" v-show="state.productivityList.length === 0" />
      </div>
   </div>
</template>
<script setup lang="ts">
import { onMounted, reactive } from 'vue';
import { getSectionByAllList } from '/@/api/ai/chat';
import { useRoute } from 'vue-router';
import { getSectionByIdList } from '/@/api/ai/chat';
import router from '/@/router';
const route = useRoute();
let state = reactive({
   recentlyList: [
      {
@@ -54,9 +55,11 @@
      },
   ], //最近使用
   productivityList: [], //通用的场景
   scenarioID: null,
});
//切换到应用场景详情的事件
const changeApp = (section_id, item: any) => {
   if (section_id === 'office_summarize') {
   router.push({
      name: 'ScenarioDetails',
      query: {
@@ -65,21 +68,18 @@
         Title: item.section_title,
      },
   });
   }
};
const getSectionByList = async () => {
   const res = await getSectionByAllList();
   const res = await getSectionByIdList({ section_a_id: state.scenarioID });
   const iconList = ['/static/images/scene/scene_1.png', '/static/images/scene/scene_2.png', '/static/images/scene/scene_3.png'];
   res.sections.forEach((item: any) => {
      if (item.children && item.children.length > 0) {
         item.children = item.children.map((child: any) => {
   res.sections.forEach((child: any) => {
            child.Icon = iconList[Math.floor(Math.random() * 3)];
            return child;
         });
      }
   });
   state.productivityList = res.sections;
};
onMounted(() => {
   state.scenarioID = route.query.ID;
   getSectionByList();
});
</script>