Commit 4a223e1a by 孙美琪

首页相关对接

parent 67b151ff
......@@ -19,7 +19,7 @@ export function banner() {
// 获取组件服务列表数据
export function assemblyList (query) {
return request({
url: '/biz/assembly/assemblyList',
url: '/biz/industry-application/list',
method: 'get',
params: query
})
......@@ -33,38 +33,46 @@ export function assemblyType (query) {
})
}
// 获取活动资讯列表数据
export function informationList (query) {
// 获取合作伙伴列表
export function partnerList (query) {
return request({
url: '/biz/information/informationList',
url: '/api/v1/partnerList',
method: 'get',
params: query
})
}
// 获取计算资源相关
export function informationResourceList(query){
return request({
url:'/biz/computility-information/computilityList',
method: 'get'
})
}
// 获取活动资讯详情
export function informationDetail (query) {
// 获取解决方案
export function getHomepageList (query) {
return request({
url: '/api/v1/informationDetail',
url: '/biz/industry-application/homepageList',
method: 'get',
params: query
})
}
// 获取合作伙伴列表
export function partnerList (query) {
// 获取活动资讯列表数据
export function informationList (query) {
return request({
url: '/api/v1/partnerList',
url: '/biz/information/informationList',
method: 'get',
params: query
})
}
// 获取计算资源相关
export function informationResourceList(query){
// 获取活动资讯列表数据
export function informationDetail (query) {
return request({
url:'/biz/computility-information/computilityList',
method: 'get'
url: '/biz/information/detail',
method: 'get',
params: query
})
}
......@@ -12,7 +12,25 @@ export function industryMenu (query) {
// 获取行业应用详情
export function solutionDetail (query) {
return request({
url: '/api/v1/solutionDetail',
url: '/biz/solution/detail',
method: 'get',
params: query
})
}
// 获取解决方案
export function getSolution (query) {
return request({
url: '/biz/solution/all',
method: 'get',
params: query
})
}
// 获取合作伙伴
export function getPartner (query) {
return request({
url: '/biz/partner/all',
method: 'get',
params: query
})
......
......@@ -17401,6 +17401,11 @@ aside a:hover {
justify-content: flex-end
}
.flex-justify-start {
display: flex;
justify-content: flex-start;
}
.joinus-box {
width: 100%;
background-color: #2c53ad;
......@@ -18117,7 +18122,7 @@ aside a:hover {
.nav-bar .logo .logo-text {
font-family: YouSheBiaoTiHei, system-ui;
font-weight: 400;
font-size: 20px;
font-size: 24px;
line-height: 22px;
color: #2e77e3;
cursor: pointer
......
......@@ -24,22 +24,7 @@
{{ item.name }}
</el-menu-item>
</el-sub-menu>
<el-sub-menu index="industryApplications">
<template #title>解决方案</template>
<el-sub-menu v-for="item in industryMenuData" :index="'one'+item.value">
<template #title>{{ item.name }}</template>
<el-sub-menu v-for="twoLevel in item.child" :index="item.name+'twoLevel'+twoLevel.value">
<template #title>{{ twoLevel.name }}</template>
<el-menu-item
v-for="threeLevel in twoLevel.child"
:index="'/industryApplications/detail?id=' + threeLevel.id">
<div style="width: 160px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
{{ threeLevel.titleIndustry }}
</div>
</el-menu-item>
</el-sub-menu>
</el-sub-menu>
</el-sub-menu>
<el-menu-item index="/industryApplications/index">解决方案</el-menu-item>
<el-menu-item index="/componentServices/componentServicesList">行业应用</el-menu-item>
<el-menu-item index="/partnership/partnershipList">合作伙伴</el-menu-item>
</el-menu>
......@@ -99,7 +84,8 @@ function menuSelect(val, indexPath, item) {
}
const computilityMenuData = ref([])
const industryMenuData = ref([])
// const industryMenuData = ref([])
function getComputilityMenu() {
categoryMenuNew().then(res => {
......@@ -108,14 +94,15 @@ function getComputilityMenu() {
})
}
function getIndustryMenu() {
industryMenu().then(res => {
industryMenuData.value = res.data
})
}
// function getIndustryMenu() {
// industryMenu().then(res => {
// industryMenuData.value = res.data
// })
// }
getComputilityMenu()
getIndustryMenu()
// getIndustryMenu()
function handleCommand(command) {
switch (command) {
......@@ -189,7 +176,7 @@ function logout() {
.logo-text {
font-family: YouSheBiaoTiHei, system-ui;
font-weight: 400;
font-size: 20px;
font-size: 24px;
line-height: 22px;
color: #2e77e3;
cursor: pointer;
......
......@@ -17,7 +17,7 @@
<img :src="item.image" alt=""/>
<div>
<div class="title">{{ item.title }}</div>
<p>{{ item.description }}</p>
<p v-html="item.description"></p>
<el-button round @click="openPage(item,index)">点击试用</el-button>
</div>
......@@ -53,22 +53,10 @@ const indexNum = ref(0)
const assemblyTypes = ref([])
const tabActive = ref("0")
onMounted(() => {
// getAssemblyType()
getAassemblyList()
})
function getAassemblyList() {
assemblyList({type: Number(tabActive.value)}).then(res => {
// assemblyData.value = res.data
const validData = res.data.filter(item => item.showStatus === true);
assemblyList().then(res => {
const validData = res.data;
validData.forEach(item => {
// 处理description字段,去除<p>标签
if (item.description) {
item.description = item.description.replace(/<p>/g, '').replace(/<\/p>/g, '')
}
// 处理images数组,只取第一张图片
if (Array.isArray(item.images) && item.images.length > 0) {
item.image = item.images[0];
......@@ -76,24 +64,10 @@ function getAassemblyList() {
item.image = ''; // 如果没有图片,设置为空字符串
}
});
assemblyData.value = validData.sort(function (a, b) {
return a.orderNum - b.orderNum
});
assemblyData.value = validData;
})
}
// function getAssemblyType() {
// assemblyType().then(res => {
// assemblyTypes.value = res.data
// getAassemblyList()
// })
// }
function tabChange() {
getAassemblyList()
}
function openPage(data, index) {
indexNum.value = index
dialogTitle.value = data.title
......@@ -112,6 +86,8 @@ function cancel() {
function handleDialogClose() {
iframeSrc.value = null
}
getAassemblyList()
</script>
<style scoped lang="scss">
.app-container {
......
<template>
<div class="app-container">
<div class="breadcrumb">
<div class="flex-justify-end">
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item>行业应用</el-breadcrumb-item>
</el-breadcrumb>
</div>
</div>
<div class="block-title">行业概述</div>
<div class="sub-title">{{ titleIndustry }}</div>
<div class="content">
<div class="html-content" v-html="industryInfo"></div>
</div>
<div class="block-title">解决方案</div>
......@@ -42,42 +33,27 @@
<img class="icon" src="@/assets/images/Information-process-2.png" alt="">
<div class="title">初步沟通</div>
<div class="desc">需求答疑,对齐核心诉求,确定合作意向</div>
<!-- <el-button>立即资讯-->
<!-- <el-icon>-->
<!-- <ArrowRight/>-->
<!-- </el-icon>-->
<!-- </el-button>-->
</div>
<div class="item">
<div class="index">3</div>
<img class="icon" src="@/assets/images/Information-process-3.png" alt="">
<div class="title">方案交流</div>
<div class="desc">针对相关方案进行线上或线下的交流探讨</div>
<!-- <el-button>立即资讯-->
<!-- <el-icon>-->
<!-- <ArrowRight/>-->
<!-- </el-icon>-->
<!-- </el-button>-->
</div>
<div class="item">
<div class="index">4</div>
<img class="icon" src="@/assets/images/Information-process-4.png" alt="">
<div class="title">商业流程</div>
<div class="desc">方案确定后,开始执行商务流程</div>
<!-- <el-button>立即资讯-->
<!-- <el-icon>-->
<!-- <ArrowRight/>-->
<!-- </el-icon>-->
<!-- </el-button>-->
</div>
</div>
</div>
</template>
<script setup name="Detail">
import { solutionDetail } from '@/api/industry.js'
import { useRoute } from 'vue-router'
import { ref, watch } from 'vue'
import {solutionDetail} from '@/api/industry.js'
import {useRoute} from 'vue-router'
import {ref, watch} from 'vue'
const route = useRoute()
const industryInfo = ref('')
......@@ -92,8 +68,9 @@ watch(() => route.query.id, val => {
}
})
function getDetail () {
function getDetail() {
solutionDetail({id: route.query.id}).then(res => {
console.log(res, 'res')
industryInfo.value = res.data.industryInfo
titleIndustry.value = res.data.titleIndustry
solutionInfo.value = res.data.solutionInfo
......
<template>
<div class="app-container">
<div class="breadcrumb">
<div class="flex-justify-end">
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item>活动资讯</el-breadcrumb-item>
<el-breadcrumb-item>活动资讯详情</el-breadcrumb-item>
</el-breadcrumb>
</div>
</div>
<div class="main">
<div class="title">{{ detailInfo.title }}</div>
<div class="time">{{ detailInfo.day }}/{{ detailInfo.month }}/{{ detailInfo.year }}</div>
......
<template>
<div class="app-container">
<div class="breadcrumb">
<div class="flex-justify-end">
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item>活动资讯</el-breadcrumb-item>
</el-breadcrumb>
</div>
</div>
<div class="form">
<el-form inline>
<el-form-item label="资讯类型">
<el-select v-model="queryParams.category" clearable @change="getInformation">
<el-option
v-for="dict in information_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="行业类别">
<el-select v-model="queryParams.industryCategory" clearable @change="getInformation">
<el-option
v-for="dict in industry_category"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form>
</div>
<!-- <div class="breadcrumb">-->
<!-- <div class="flex-justify-end">-->
<!-- <el-breadcrumb separator="/">-->
<!-- <el-breadcrumb-item>首页</el-breadcrumb-item>-->
<!-- <el-breadcrumb-item>活动资讯</el-breadcrumb-item>-->
<!-- </el-breadcrumb>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form">-->
<!-- <el-form inline>-->
<!-- <el-form-item label="资讯类型">-->
<!-- <el-select v-model="queryParams.category" clearable @change="getInformation">-->
<!-- <el-option-->
<!-- v-for="dict in information_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="行业类别">-->
<!-- <el-select v-model="queryParams.industryCategory" clearable @change="getInformation">-->
<!-- <el-option-->
<!-- v-for="dict in industry_category"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </div>-->
<div class="list-box">
<el-row v-if="informationData.length" :gutter="24">
<el-col :span="8" v-for="item in informationData" :key="item.id">
<div class="item" @click="$router.push('/information/informationDetail?id='+item.id)">
<img :src="baseUrl + item.image" alt="">
<img :src="item.image" alt="">
<div class="title">{{ item.title }}</div>
<div class="flex-align-center flex-space-between">
<div class="time">
<div class="time" style="display: flex; align-items: center;flex: 1;">
<span class="date">{{ item.day }}/{{ item.month }}</span>
<span class="year">{{ item.year }}</span>
</div>
......@@ -62,21 +61,14 @@
</template>
<script setup name="InformationList">
import { informationList } from '@/api/home.js'
import { ref } from 'vue'
const {proxy} = getCurrentInstance()
const {
information_status,
industry_category
} = proxy.useDict('information_status', 'industry_category')
import {informationList} from '@/api/home.js'
import {ref} from 'vue'
const queryParams = ref({})
const baseUrl = import.meta.env.VITE_APP_BASE_API
const informationData = ref([])
function getInformation () {
informationList(queryParams.value).then(res => {
function getInformation() {
informationList().then(res => {
res.data.forEach(item => {
item.year = new Date(item.createTime).getFullYear()
item.month = new Date(item.createTime).getMonth() + 1
......@@ -84,6 +76,7 @@ function getInformation () {
item.day = new Date(item.createTime).getDate()
item.day = item.day < 10 ? '0' + item.day : item.day
item.description = item.description.replace('<p><br></p>', '')
item.images = item.images.length !== 0 ? item.images[0] : ''
})
informationData.value = res.data
})
......@@ -132,6 +125,7 @@ getInformation()
.list-box {
width: 1280px;
margin: 0 auto;
padding-top: 70px;
.item {
margin-bottom: 24px;
......@@ -140,6 +134,7 @@ getInformation()
cursor: pointer;
.title {
font-size: 16px !important;
color: #2E77E3;
}
}
......@@ -155,11 +150,11 @@ getInformation()
}
.title {
font-weight: bold;
font-size: 24px;
font-weight: 700;
font-size: 16px;
color: #303233;
margin-bottom: 16px;
height: 66px;
height: 26px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
......@@ -170,8 +165,8 @@ getInformation()
.date {
font-family: DIN, system-ui;
font-weight: bold;
font-size: 32px;
font-weight: 700;
font-size: 16px;
color: #2E77E3;
margin-right: 16px;
}
......@@ -179,7 +174,7 @@ getInformation()
.year {
font-family: DIN, system-ui;
font-weight: 400;
font-size: 20px;
font-size: 16px;
color: #2E77E3;
}
}
......
......@@ -17,18 +17,17 @@
<p>OUR PARTNER</p></div>
<div class="partner-list">
<el-row :gutter="15">
<el-col :span="8" class="is-guttered">
<el-col :span="8" class="is-guttered" v-for="(i,index) in partnerList" :key="index">
<div class="partner-item">
<div class="img"><img
src="http://ph.xjkcjd.com:18081/prod-api/profile/upload/2024/12/25/智谱_20241225151742A098.png"
alt=""></div>
<div class="title">北京智谱华章科技有限公司</div>
<p class="desc">
北京智谱华章科技有限公司(简称“智谱”)致力于打造新一代认知智能大模型,专注于做大模型的中国创新。公司合作研发了中英双语千亿级超大规模预训练模型GLM-130B,并基于此推出对话模型ChatGLM,开源单卡版模型ChatGLM-6B。同时,团队还打造了AIGC模型及产品矩阵,包括AI提效助手智谱清言(chatglm.cn)、高效率代码模型CodeGeeX、多模态理解模型CogVLM和文生图模型CogView等。公司践行Model
as a
Service(MaaS)的市场理念,推出大模型MaaS开放平台(https://open.bigmodel.cn/),打造高效率、通用化的“模型即服务”AI开发新范式。通过认知大模型链接物理世界的亿级用户,智谱基于完整的模型生态和全流程技术支持,为千行百业带来持续创新与变革,加速迈向通用人工智能的时代。</p>
<div class="img">
<img
:src="i.image.length !==0 ?i.image[0]:''"
alt=""/>
</div>
<div class="title">{{ i.title }}</div>
<p class="desc" v-html="i.description"></p>
<div class="btn-box">
<button aria-disabled="false" type="button"
<button @click="handleOpen(i.url)" aria-disabled="false" type="button"
class="el-button el-button--default is-plain">
<span class="">查看官网 </span>
</button>
......@@ -57,6 +56,23 @@
<script setup>
import {getPartner} from "@/api/industry.js";
const partnerList = ref([])
function getPartnerList() {
getPartner().then((res) => {
partnerList.value = res.data
})
}
function handleOpen(url) {
if (url) {
window.open(url);
}
}
getPartnerList()
</script>
<style scoped lang="scss">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment