hookehuyr

解决方案接口联调,和其他页面调整

......@@ -22,7 +22,6 @@ declare module 'vue' {
ElRow: typeof import('element-ui/lib/row')['default']
ElTabPane: typeof import('element-ui/lib/tab-pane')['default']
ElTabs: typeof import('element-ui/lib/tabs')['default']
ElTooltip: typeof import('element-ui/lib/tooltip')['default']
HagerBox: typeof import('./src/components/common/hagerBox.vue')['default']
HagerCarousel: typeof import('./src/components/hagerCarousel.vue')['default']
HagerFooter: typeof import('./src/components/common/hagerFooter.vue')['default']
......
/*
* @Date: 2024-09-26 13:36:06
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-10-24 09:34:46
* @LastEditTime: 2024-10-24 10:26:13
* @FilePath: /hager/src/api/hager.js
* @Description: 文件描述
*/
......@@ -15,6 +15,7 @@ const Api = {
PRODUCT_CATE: '/srv/?a=cate&type=product',
PRODUCT_INFO: '/srv/?a=detail&type=product',
PRODUCT_SEARCH: '/srv/?a=cate&type=product_search',
SOLUTION: '/srv/?a=cate&type=solution',
};
export const honorAPI = (params) => fn(fetch.get(Api.HONOR, params));
......@@ -30,3 +31,5 @@ export const getProductCateAPI = (params) => fn(fetch.get(Api.PRODUCT_CATE, para
export const getProductInfoAPI = (params) => fn(fetch.get(Api.PRODUCT_INFO, params));
export const getProductSearchAPI = (params) => fn(fetch.get(Api.PRODUCT_SEARCH, params));
export const getSolutionListAPI = (params) => fn(fetch.get(Api.SOLUTION, params));
......
This diff is collapsed. Click to expand it.
<!--
* @Date: 2024-09-29 15:49:27
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-10-21 14:43:11
* @LastEditTime: 2024-10-24 10:32:43
* @FilePath: /hager/src/views/solution/detail.vue
* @Description: 文件描述
-->
......@@ -10,12 +10,12 @@
<hager-box class="top-img" :style="{ height: top_img_height, backgroundImage: 'url(https://cdn.ipadbiz.cn/hager/banner/banner03@2x.png)' }">
<div v-if="!is_xs" class="banner-text-wrapper top-center">
<div class="text">
<p class="title">学校解决方案</p>
<p class="title" style="margin-bottom: 0;">学校解决方案</p>
<p class="sub">Campus Solution</p>
</div>
<div class="text-sub">
<!-- <div class="text-sub">
海格用丰富的行业知识和应用经验,为多个行业提供先进的数字化解决方案。
</div>
</div> -->
</div>
</hager-box>
<hager-box v-if="!is_xs" class="box-n">
......@@ -29,7 +29,7 @@
</el-col>
<el-col :span="12" class="brief-introduction">
<div class="intro-box">
<hager-h1 title="学校解决方案" sub="Electronic solutions"></hager-h1>
<!-- <hager-h1 title="学校解决方案" sub="Electronic solutions"></hager-h1> -->
<p style="margin: 2rem 0;">淨於电气开乐驾能民电峰决方案,提供安全。可靠。摄作友好。易于堆护的电力划! 1h14. n53 X0(009121 3098. 228 41324849 56MeD 换至备用电源,保障救学和生活的连续性。</p>
<i class="el-icon-right"></i>
</div>
......@@ -308,7 +308,7 @@ export default {
position: relative;
.top-center {
position: absolute;
transform: translateY(100%); /* 垂直与水平居中 */
transform: translateY(150%); /* 垂直与水平居中 */
}
}
.carousel-img {
......@@ -324,6 +324,7 @@ export default {
}
.intro-box {
padding: 3rem;
padding-top: 0;
&.xs {
padding: 2rem;
}
......
......@@ -26,11 +26,11 @@
<div v-if="!is_xs" class="hager-industry-solutions">
<el-row :gutter="15" v-for="(item, index) in splitListIntoChunks(solution_list)" :key="index">
<el-col :span="6" v-for="(x, idx) in item" :key="idx">
<div @click="goToSolution(item)" class="card">
<img :src="x.src" class="card-image">
<div @click="goToSolution(x)" class="card">
<img :src="x.cover" class="card-image">
<div class="card-content">
<div class="card-title">
<span>{{ x.title }}</span>
<span>{{ x.category_name }}</span>
<i class="el-icon-right" style="color: #00ABE5;"></i>
</div>
<p class="card-sub">{{ x.sub }}</p>
......@@ -43,10 +43,10 @@
<swiper ref="mySolutionSwiper" class="swiper" :options="swiperOption" @slideChange="onSlideChange()">
<swiper-slide v-for="(item, index) in solution_list" :key="index">
<div @click="goToSolution(item)" class="card" style="margin-bottom: 1rem;">
<img :src="item.src" alt="学校图片" class="card-image">
<img :src="item.cover" alt="学校图片" class="card-image">
<div class="card-content">
<div class="card-title">
<span>{{ item.title }}</span>
<span>{{ item.category_name }}</span>
<i class="el-icon-right"></i>
</div>
<p class="card-sub">{{ item.sub }}</p>
......@@ -61,9 +61,9 @@
</div>
</div>
</div>
<div class="more-box" style="margin-top: 2rem;">
<!-- <div class="more-box" style="margin-top: 2rem;">
<hager-more></hager-more>
</div>
</div> -->
</hager-box>
<hager-service></hager-service>
</div>
......@@ -75,45 +75,14 @@ import hagerBox from '@/components/common/hagerBox';
import hagerH1 from '@/components/common/hagerH1.vue';
import hagerMore from '@/components/hagerMore.vue';
import hagerService from '@/components/common/hagerService.vue';
import { getSolutionListAPI } from "@/api/hager.js";
export default {
components: { hagerBox, hagerH1, hagerMore, hagerService },
mixins: [mixin.init],
data () {
return {
solution_list: [{
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '1住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '2住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '3住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '4住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '1住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '2住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '3住宅解决方案',
sub: 'Residential Solution Case'
}, {
src: 'https://cdn.ipadbiz.cn/hager/img/WX20241021-110827@2x.png',
title: '4住宅解决方案',
sub: 'Residential Solution Case'
}],
solution_list: [],
swiperOption: {
slidesPerView: 2,
spaceBetween: 50,
......@@ -147,8 +116,11 @@ export default {
reach_end: false,
}
},
mounted () {
async mounted () {
const { code, data } = await getSolutionListAPI();
if (code) {
this.solution_list = data;
}
},
methods: {
splitListIntoChunks (list) {
......@@ -164,6 +136,7 @@ export default {
return result;
},
goToSolution (v) {
console.warn(v);
this.$router.push({
path: '/solution/detail',
query: {
......