gcz 1 долоо хоног өмнө
parent
commit
cc17968017

+ 9 - 0
src/api/modules/home.js

@@ -75,3 +75,12 @@ export const getProjectClassifyTree= (params) => {
     params
   })
 }
+
+// 合作伙伴
+export const getPartners= (params) => {
+  return request({
+    url: '/website/dzCompanyPartners/list',
+    method: 'get',
+    params
+  })
+}

+ 1 - 1
src/pages/cases/Index.vue

@@ -228,7 +228,7 @@ export default {
           solutions.value = casesData.rows.map(item => ({
             id: item.id,
             classifyId: item.classifyId,
-            title: item.classifyName,
+            title: item.projectName,
             description: item.classifyDesc || '为您提供专业的解决方案',
             image: item.projectImage ? imgHost + item.projectImage : '/src/assets/products-youshi-01.png'
           }))

+ 8 - 8
src/pages/contact/Index.vue

@@ -27,15 +27,15 @@
                   <img src="@assets/contact-phone.png" alt="电话" class="contact-icon" />
                   <div class="contact-text">
                     <h4>联系电话:</h4>
-                    <p>座机号:18866568888</p>
-                    <p>客服号:18888888666</p>
+                    <p>张先生:18866568888</p>
+                    <p>吴先生:18888888666</p>
                   </div>
                 </div>
 
                 <div class="contact-item">
                   <img src="@assets/contact-mail.png" alt="邮箱" class="contact-icon" />
                   <div class="contact-text">
-                    <h4>公司邮箱:</h4>
+                    <h4>公司电话:</h4>
                     <p>000000000000</p>
                   </div>
                 </div>
@@ -57,12 +57,12 @@
                 <div class="website-info">
                   <img src="@assets/contact-mail.png" alt="网站" class="contact-icon" />
                   <div class="contact-text">
-                    <h4>网站</h4>
-                    <p>www.jgdazekg.com</p>
+                    <h4>邮箱</h4>
+                    <p>www@dazekg.com</p>
                   </div>
                   <div class="contact-text">
                     <h4>商务合作</h4>
-                    <p>www.jgdazekg.com</p>
+                    <p>www@dazekg.com</p>
                   </div>
                 </div>
               </div>
@@ -70,8 +70,8 @@
 
             <!-- 下半部分:地图 -->
             <div class="map-section">
-              <!-- <img src="@assets/contact-map.png" alt="公司位置地图" class="map-image" /> -->
-              <iframe style="width: 100%;;height: 350px;border-radius: 10px;" src="https://j.map.baidu.com/ef/0c9k" frameborder="0"></iframe>
+              <img src="@assets/contact-map.png" alt="公司位置地图" class="map-image" />
+              <!-- <iframe style="width: 100%;;height: 350px;border-radius: 10px;" src="https://j.map.baidu.com/ef/0c9k" frameborder="0"></iframe> -->
             </div>
           </div>
         </div>

+ 58 - 75
src/pages/home/Index.vue

@@ -41,7 +41,7 @@
             <div class="detail-content">
               <h3 class="product-title">{{ activeProduct.classifyName }}</h3>
               <p class="product-description">{{ activeProduct.description || activeProduct.classifyDesc || '为您提供专业的解决方案'
-              }}</p>
+                }}</p>
             </div>
             <div class="detail-image">
               <img :src="imgHost + activeProduct.projectImage" :alt="activeProduct.classifyName" />
@@ -69,8 +69,7 @@
           <div class="cases-container">
             <div class="cases-wrapper"
               :style="{ transform: `translateX(-${currentCaseIndex * (100 / visibleCases)}%)` }">
-              <div v-for="caseItem in casesList" :key="caseItem.id" @click="goToCaseDetail(caseItem)"
-                class="case-item">
+              <div v-for="caseItem in casesList" :key="caseItem.id" @click="goToCaseDetail(caseItem)" class="case-item">
                 <div class="case-image">
                   <img :src="imgHost + caseItem.projectImage" :alt="caseItem.title" />
                 </div>
@@ -135,8 +134,9 @@
         </div>
 
         <div class="partners-grid">
-          <a v-for="partner in partnersList" :key="partner.id" :href="partner.url" target="_blank" class="partner-item">
-            <img :src="partner.logo" :alt="partner.name" />
+          <a v-for="partner in partnersList" :key="partner.id" :href="partner.partnersUrl" target="_blank"
+            class="partner-item">
+            <img :src="imgHost + partner.partnersLogo" :alt="partner.partnersName" />
           </a>
         </div>
       </div>
@@ -149,7 +149,7 @@
 import { ref, computed, onMounted, onUnmounted, nextTick } from 'vue'
 import { useRouter } from 'vue-router'
 import DefaultLayout from '@/layouts/DefaultLayout.vue'
-import { getHomeData, getProjectClassifyList, getProjectList, getCompanyCertList } from '@/api/modules/home'
+import { getHomeData, getProjectClassifyList, getProjectList, getCompanyCertList, getPartners } from '@/api/modules/home'
 import { animateNumber, createNumberAnimationObserver } from '@/utils/numberAnimation'
 // 导入图片资源
 import indexAboutBg from '@/assets/index-about-img.png'
@@ -274,68 +274,7 @@ export default {
     }
 
     // 合作伙伴数据
-    const partnersList = ref([
-      {
-        id: 1,
-        name: '浪潮',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=浪潮',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 2,
-        name: '新信息',
-        logo: 'https://unsplash.it/214/84',
-        url: '#'
-      },
-      {
-        id: 3,
-        name: 'DELL',
-        logo: 'https://unsplash.it/214/84',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 4,
-        name: '锐捷',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=锐捷',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 5,
-        name: '河姆渡',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=河姆渡',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 6,
-        name: 'SIEMENS',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=SIEMENS',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 7,
-        name: 'HP',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=HP',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 8,
-        name: 'Sygon',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=Sygon',
-        url: '#'
-      },
-      {
-        id: 9,
-        name: 'KSTAR',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=KSTAR',
-        url: 'https://unsplash.it/214/84'
-      },
-      {
-        id: 10,
-        name: 'WEIMO',
-        logo: 'https://via.placeholder.com/180x80/f8f9fa/666666?text=WEIMO',
-        url: '#'
-      }
-    ])
+    let partnersList = ref([])
 
     let casesList = ref([
       {
@@ -494,7 +433,7 @@ export default {
     const goToCaseDetail = (caseItem) => {
       router.push({
         name: 'Casesdetails',
-        query: { id: caseItem.id,classifyId:caseItem.classifyId }
+        query: { id: caseItem.id, classifyId: caseItem.classifyId }
       })
     }
 
@@ -516,11 +455,55 @@ export default {
       }
     }
 
-    onMounted(() => {
-      loadHomeData()
-      loadCompanyCertList() // 获取企业资质证书
-      handleGetProjectClassifyList1() // 获取产品分类列表
-      handleGetProjectList() // 获取案例列表
+    // 获取合作伙伴列表
+    const loadPartnersList = async () => {
+      try {
+        const data = await getPartners()
+        console.log('合作伙伴数据:', data)
+
+        if (data && data.rows && Array.isArray(data.rows)) {
+          partnersList.value = data.rows
+        }
+      } catch (error) {
+        console.error('加载合作伙伴失败:', error)
+      }
+    }
+
+    // 优化API请求顺序
+    const loadCriticalData = async () => {
+      // 关键数据:首屏可见内容
+      try {
+        await Promise.all([
+          loadHomeData(), // 首页基础数据和企业简介
+          handleGetProjectClassifyList1() // 产品分类列表(首屏可见)
+        ])
+      } catch (error) {
+        console.error('加载关键数据失败:', error)
+      }
+    }
+
+    const loadSecondaryData = async () => {
+      // 次要数据:首屏下方内容,可以延迟加载
+      try {
+        await Promise.all([
+          handleGetProjectList(), // 案例列表
+          loadCompanyCertList(), // 企业资质证书
+          loadPartnersList() // 合作伙伴列表
+        ])
+      } catch (error) {
+        console.error('加载次要数据失败:', error)
+      }
+    }
+
+    onMounted(async () => {
+      // 先加载关键数据
+      await loadCriticalData()
+
+      // 延迟加载次要数据,避免阻塞首屏渲染
+      setTimeout(() => {
+        loadSecondaryData()
+      }, 100)
+
       updateVisibleCases()
       window.addEventListener('resize', updateVisibleCases)
 
@@ -871,7 +854,7 @@ export default {
         overflow: hidden;
         text-overflow: ellipsis;
         display: -webkit-box;
-        -webkit-line-clamp:2;
+        -webkit-line-clamp: 2;
         line-clamp: 2;
         -webkit-box-orient: vertical;
       }

+ 1 - 1
src/pages/products/Index.vue

@@ -387,7 +387,7 @@ export default {
         font-size: 16px;
         line-height: 1.6;
         margin-bottom: 60px;
-        max-width: 600px;
+        max-width: 1200px;
         margin-left: auto;
         margin-right: auto;
         opacity: 0.9;