chengziding месяцев назад: 7
Родитель
Сommit
e383adef50
43 измененных файлов с 146 добавлено и 78 удалено
  1. 1 1
      .env.development
  2. 2 1
      assets/css/root.scss
  3. BIN
      assets/images/customersServed/img1.png
  4. BIN
      assets/images/customersServed/img10.png
  5. BIN
      assets/images/customersServed/img11.png
  6. BIN
      assets/images/customersServed/img12.png
  7. BIN
      assets/images/customersServed/img13.png
  8. BIN
      assets/images/customersServed/img14.png
  9. BIN
      assets/images/customersServed/img15.png
  10. BIN
      assets/images/customersServed/img16.png
  11. BIN
      assets/images/customersServed/img17.png
  12. BIN
      assets/images/customersServed/img18.png
  13. BIN
      assets/images/customersServed/img19.png
  14. BIN
      assets/images/customersServed/img2.png
  15. BIN
      assets/images/customersServed/img20.png
  16. BIN
      assets/images/customersServed/img21.png
  17. BIN
      assets/images/customersServed/img22.png
  18. BIN
      assets/images/customersServed/img23.png
  19. BIN
      assets/images/customersServed/img24.png
  20. BIN
      assets/images/customersServed/img25.png
  21. BIN
      assets/images/customersServed/img26.png
  22. BIN
      assets/images/customersServed/img27.png
  23. BIN
      assets/images/customersServed/img28.png
  24. BIN
      assets/images/customersServed/img29.png
  25. BIN
      assets/images/customersServed/img3.png
  26. BIN
      assets/images/customersServed/img30.png
  27. BIN
      assets/images/customersServed/img4.png
  28. BIN
      assets/images/customersServed/img5.png
  29. BIN
      assets/images/customersServed/img6.png
  30. BIN
      assets/images/customersServed/img7.png
  31. BIN
      assets/images/customersServed/img8.png
  32. BIN
      assets/images/customersServed/img9.png
  33. 3 2
      components/Demand.vue
  34. 24 9
      components/Header/index.vue
  35. 1 1
      composables/useHttp.ts
  36. 1 1
      nuxt.config.ts
  37. 3 3
      pages/contact/index.vue
  38. 91 46
      pages/index.vue
  39. 4 3
      pages/market/index.vue
  40. 6 5
      pages/news-categories/detail.vue
  41. 6 3
      pages/news-categories/index.vue
  42. 4 0
      pages/report-industries/detail.vue
  43. 0 3
      pages/report-industries/index.vue

+ 1 - 1
.env.development

@@ -9,6 +9,6 @@ NUXT_PUBLIC_API_BASE = 'http://192.168.0.70:8980/js/a/api'
 NUXT_PUBLIC_API_BASEURL = "http://192.168.0.70:8980/js/userfiles"
 # NUXT_PUBLIC_API_BASEURL = "http://192.168.0.132/js/userfiles"
 
-
+# NUXT_PUBLIC_DOMAIN_NAME='https://www.wenkh.com.cn'
 # NUXT_PUBLIC_API_BASE = 'https://www.wenkh.com/api/js/a/api'
 # NUXT_PUBLIC_API_BASEURL="https://www.wenkh.com/api/js/userfiles"

+ 2 - 1
assets/css/root.scss

@@ -226,6 +226,7 @@
         --size-264: 70.3999vw;
         --size-265: 70.6667vw;
         --size-266: 70.9333vw;
+        --size-274: 73.066vw;
         --size-277: 73.8667vw;
         --size-278: 74.1333vw;
         --size-279: 74.4vw;
@@ -1076,7 +1077,7 @@
         --size-740: 38.5417vw;
         --size-750: 39.0625vw;
         --size-757: 39.3854vw;
-        --size-767: 6.7905vw;
+        --size-767: 39.9479vw;
         --size-770: 40vw;
         --size-774: 40.2604vw;
         --size-775: 40.3125vw;

BIN
assets/images/customersServed/img1.png


BIN
assets/images/customersServed/img10.png


BIN
assets/images/customersServed/img11.png


BIN
assets/images/customersServed/img12.png


BIN
assets/images/customersServed/img13.png


BIN
assets/images/customersServed/img14.png


BIN
assets/images/customersServed/img15.png


BIN
assets/images/customersServed/img16.png


BIN
assets/images/customersServed/img17.png


BIN
assets/images/customersServed/img18.png


BIN
assets/images/customersServed/img19.png


BIN
assets/images/customersServed/img2.png


BIN
assets/images/customersServed/img20.png


BIN
assets/images/customersServed/img21.png


BIN
assets/images/customersServed/img22.png


BIN
assets/images/customersServed/img23.png


BIN
assets/images/customersServed/img24.png


BIN
assets/images/customersServed/img25.png


BIN
assets/images/customersServed/img26.png


BIN
assets/images/customersServed/img27.png


BIN
assets/images/customersServed/img28.png


BIN
assets/images/customersServed/img29.png


BIN
assets/images/customersServed/img3.png


BIN
assets/images/customersServed/img30.png


BIN
assets/images/customersServed/img4.png


BIN
assets/images/customersServed/img5.png


BIN
assets/images/customersServed/img6.png


BIN
assets/images/customersServed/img7.png


BIN
assets/images/customersServed/img8.png


BIN
assets/images/customersServed/img9.png


+ 3 - 2
components/Demand.vue

@@ -283,11 +283,12 @@ function handleClose () {
   line-height: var(--size-34);
   border-bottom: 1px solid #e6e6e6;
   padding: 10px 10px 20px 0;
+  box-sizing: content-box !important;
 }
 :deep(.n-input-wrapper) {
-  font-size: var(--size-14);
+  font-size: 14px;
   font-family: Microsoft YaHei, Microsoft YaHei-Regular;
-  border-bottom: var(--size-1) solid #e6e6e6;
+  border-bottom: 1px solid #e6e6e6;
   line-height: var(--size-34);
   padding: 10px 0 20px;
 }

+ 24 - 9
components/Header/index.vue

@@ -3,9 +3,9 @@
     <div class="top">
       <a> <span class="iconfont icon-youxiang"></span> market@aporesearch.com</a>
       <a><span class="iconfont icon-lianxidianhua"></span> 1-332-251-9412</a>
-      <template v-if="isLogin">
+      <!-- <template v-if="isLogin">
         <div class="userInfo">
-          <img class="avatar" src="@/assets/images/avatar.png" alt="avatar" width="30" />
+          <img click="toMine" class="avatar" src="@/assets/images/avatar.png" alt="avatar" width="30" />
           <span class="username" @click="toMine">{{
                     userInfo.name
                   }}</span>
@@ -17,7 +17,7 @@
         <div><span class="iconfont icon-weidenglu"></span>
           <div @click="handleSignIn()">Login</div> / <div @click="closeSginDialog('register')">Register</div>
         </div>
-      </template>
+      </template> -->
     </div>
     <div class="navBox">
       <a class="navBox_l" href="/">
@@ -30,7 +30,7 @@
           </a>
         </n-dropdown>
         <a :class="{'router-link-active':route.path=='/market'}" :href="jumpLink('/market')">
-          Custom Researc
+          Custom Research
         </a>
         <n-dropdown :options="newsOptions" trigger="hover" size="huge" @select="chooseNewsMenu">
           <a :class="{'router-link-active':(route.name=='newsCategories'||route.path=='/news-categories')}" :href="jumpLink('/news-categories')">
@@ -95,7 +95,7 @@
         </div>
       </div>
     </div>
-    <div class="head_b">
+    <!-- <div class="head_b">
       <div>
         <div class="userInfo" v-if="userStore.getToken">
           <span class="username">
@@ -114,7 +114,7 @@
           <span @click="closeSginDialog('register')">Register</span>
         </div>
       </div>
-    </div>
+    </div> -->
   </div>
   <n-modal :show="signInVisible" :title="signInTitle" :showIcon="false" @esc="signInVisible = false" @mask-click="signInVisible = false" @close="signInVisible = false" class="modalCls" :class="{ 'login-dialog': !pcShow }">
     <SignInLogin @closeSginDialog="closeSginDialog" v-if="sginType == 'login'"></SignInLogin>
@@ -310,7 +310,8 @@ const langChange = async (lng: string) => {
 function chooseReportMenu(key: string | number, _option: DropdownOption) {
   router.push({
     name: "reports",
-    params: { category: key, lang: language.value },
+    // params: { category: key, lang: language.value },
+    params: { category: key },
   });
 }
 
@@ -318,7 +319,8 @@ function chooseReportMenu(key: string | number, _option: DropdownOption) {
 function chooseNewsMenu(key: string | number) {
   router.push({
     name: "newsCategories",
-    params: { marketType: key, lang: language.value },
+    // params: { marketType: key, lang: language.value },
+    params: { marketType: key },
   });
 }
 
@@ -652,6 +654,19 @@ getDictListData();
           :deep(.n-input__input) {
             width: var(--size-180) !important;
           }
+          /* 全局placeholder样式 */
+          .n-input .n-input__placeholder {
+            font-size: 14px !important;
+          }
+          .n-input .n-input-wrapper .n-input__placeholder {
+            font-size: 14px !important;
+          }
+          .n-input input::placeholder {
+            font-size: 14px !important;
+          }
+          .n-input .n-input__input-el::placeholder {
+            font-size: 14px !important;
+          }
         }
         .search_r {
           width: var(--size-105);
@@ -677,7 +692,7 @@ getDictListData();
   --n-border-hover: none !important;
   --n-border-focus: none !important;
   --n-box-shadow-focus: none !important;
-  --n-caret-color: #ef001f !important;
+  // --n-caret-color: #000000 !important;
   font-size: var(--size-16) !important;
   --n-text-color-hover: none !important;
 }

+ 1 - 1
composables/useHttp.ts

@@ -28,7 +28,7 @@ class HttpRequest {
       }
       const newOptions: UseFetchOptions<T> = {
         baseURL: baseURL,
-        // baseURL: "https://bjfl.dirmarketresearch.com/js/a/api",
+        // baseURL: "https://www.wenkh.com/api/js/a/api",
         method: method,
         key: url + JSON.stringify(data),
         headers: {

+ 1 - 1
nuxt.config.ts

@@ -29,7 +29,7 @@ export default defineNuxtConfig({
     // 代理
     devProxy: {
       '/api': {
-        // target: 'https://www.wenkh.com/api/js/a/api',
+        // target: 'https://bjfl.dirmarketresearch.com/api/js/a/api',
         target: 'http://192.168.0.70:8980/js/a/api',
         // target: 'http://192.168.0.132//js/a/api',
         changeOrigin: true,

+ 3 - 3
pages/contact/index.vue

@@ -46,7 +46,7 @@
         <div class="content_r_list">
           <div class="content_r_item ">
             <img src="@/assets/images/contactUs/img1.png" alt="">
-            <div>Ocean Tower, No.145, Hong Kong Road, Wuhan City, Hube Province, China</div>
+            <div>Ocean Tower, No.145, Hong Kong Road, Wuhan City, Hubei Province, China</div>
           </div>
           <div class="content_r_item ">
             <img src="@/assets/images/contactUs/img2.png" alt="">
@@ -195,9 +195,9 @@ function handleSubmit() {
     if (!errors) {
       //formData.reportId = prop.rowId;
       //formData.reportPrice = prop.rowPrice;
-      formData.lang = langOnBrowser();
+      // formData.lang = langOnBrowser();
       //formData.type = prop.rowType;
-      await customerInfoSave(formData);
+      await customerInfoSave({ ...formData });
       message.message.success(t("report.demand.success"));
       formData.companyName = "";
       formData.addr = "";

+ 91 - 46
pages/index.vue

@@ -10,7 +10,7 @@
             <div class="desc">
               <div class="desc_title">{{item.title }}</div>
               <div class="desc_tig">{{ item.desc }}</div>
-              <div class="desc_btn">Know More</div>
+              <a href="/report-industries" class="desc_btn">Know More</a>
             </div>
           </n-carousel-item>
         </template>
@@ -65,10 +65,10 @@
         <template v-for="item in marketInfo1.list" :key="item">
           <n-carousel-item>
             <div class="img">
-              <img class="carousel-img" :src="BaseUrl+'/carousel/'+item.name" />
+              <img class="carousel-img" :src="BaseUrl+'/fileupload/'+item.filePath+item.fileName" />
               <div class="desc">
                 <div class="desc_title">{{item.title}}</div>
-                <a class="desc_btn" :href="'/reports/'+item.webTitle+'-'+item.id">View details</a>
+                <a class="desc_btn" :href="'/news/'+item.webTitle+'-'+item.id">View details</a>
               </div>
             </div>
           </n-carousel-item>
@@ -85,16 +85,18 @@
       <div class="popularBox_l">
         <div class="popularBox_l_title">
           <div class="popularBox_l_title_l">Popular Research Reports</div>
-          <div class="popularBox_l_title_r">Know More <span class="iconfont icon-jiantou24"></span> </div>
+          <a class="popularBox_l_title_r" href="/report-industries">Know More <span class="iconfont icon-jiantou24"></span> </a>
         </div>
         <div class="popularBox_l_list">
           <!-- reports -->
           <!-- marketInfo2.list -->
-          <template v-for="(v,i) in marketInfo2.list" :key="i">
+          <template v-for="(v,i) in reports" :key="i">
             <div class="popularBox_l_list_item" v-if="i<2">
-              <img :src="BaseUrl + '/report/' + v.fileName" alt="">
+              <a :href="'/reports/'+v.webTitle+'-'+v.id">
+                <img :src="BaseUrl + '/report/' + v.fileName" alt="">
+              </a>
               <div class="popularBox_l_list_item_box">
-                <div class="popularBox_l_list_item_box_title">{{v.title}}</div>
+                <a class="popularBox_l_list_item_box_title" :href="'/reports/'+v.webTitle+'-'+v.id">{{v.title}}</a>
                 <a class="popularBox_l_list_item_box_btn" :href="'/reports/'+v.webTitle+'-'+v.id">View details</a>
               </div>
             </div>
@@ -117,13 +119,15 @@
       <div class="hotBox_title">Hot News</div>
       <div class="hotBox_list">
         <template v-for="(v,i) in markets" :key="i">
-          <a class="hotBox_list_item" :href="'news'+v.webTitle + '-' + v.id " @click.prevent="viewNewsDetail(v)" v-if="i<3">
-            <img :src="BaseUrl + '/fileupload/' + v.filePath + v.fileName" alt="">
+          <div class="hotBox_list_item" @click.prevent="viewNewsDetail(v)" v-if="i<3">
+            <a :href="'news'+v.webTitle + '-' + v.id ">
+              <img :src="BaseUrl + '/fileupload/' + v.filePath + v.fileName" alt="">
+            </a>
             <div class="hotBox_list_item_box">
               <div class="hotBox_list_item_box_date">{{formatDateEn(v.publishDate)}}</div>
-              <div class="hotBox_list_item_box_text">{{v.title}}</div>
+              <a :href="'news'+v.webTitle + '-' + v.id " class="hotBox_list_item_box_text">{{v.title}}</a>
             </div>
-          </a>
+          </div>
         </template>
       </div>
       <a class="hotBox_btn" href="/news-categories">Know More</a>
@@ -145,7 +149,7 @@
       <div class="customersBox_subTitle">Trusted by Leading Companies Worldwide.</div>
       <div class="customersBox_carousel">
         <!-- draggable -->
-        <n-carousel ref="card5SwiperRef" autoplay :space-between="0" loop :interval="2000">
+        <n-carousel ref="card5SwiperRef" autoplay draggable :space-between="0" loop :interval="2000">
           <n-carousel-item class="customersBox_carousel_item " v-for="(v,i) in list3" :key="i">
             <img v-for="(k,j) in v" :key="'img'+j" :src="k" alt="">
           </n-carousel-item>
@@ -192,6 +196,30 @@ import customersServed3 from '@/assets/images/customersServed/img3.png'
 import customersServed4 from '@/assets/images/customersServed/img4.png'
 import customersServed5 from '@/assets/images/customersServed/img5.png'
 import customersServed6 from '@/assets/images/customersServed/img6.png'
+import customersServed7 from '@/assets/images/customersServed/img7.png'
+import customersServed8 from '@/assets/images/customersServed/img8.png'
+import customersServed9 from '@/assets/images/customersServed/img9.png'
+import customersServed10 from '@/assets/images/customersServed/img10.png'
+import customersServed11 from '@/assets/images/customersServed/img11.png'
+import customersServed12 from '@/assets/images/customersServed/img12.png'
+import customersServed13 from '@/assets/images/customersServed/img13.png'
+import customersServed14 from '@/assets/images/customersServed/img14.png'
+import customersServed15 from '@/assets/images/customersServed/img15.png'
+import customersServed16 from '@/assets/images/customersServed/img16.png'
+import customersServed17 from '@/assets/images/customersServed/img17.png'
+import customersServed18 from '@/assets/images/customersServed/img18.png'
+import customersServed19 from '@/assets/images/customersServed/img19.png'
+import customersServed20 from '@/assets/images/customersServed/img20.png'
+import customersServed21 from '@/assets/images/customersServed/img21.png'
+import customersServed22 from '@/assets/images/customersServed/img22.png'
+import customersServed23 from '@/assets/images/customersServed/img23.png'
+import customersServed24 from '@/assets/images/customersServed/img24.png'
+import customersServed25 from '@/assets/images/customersServed/img25.png'
+import customersServed26 from '@/assets/images/customersServed/img26.png'
+import customersServed27 from '@/assets/images/customersServed/img27.png'
+import customersServed28 from '@/assets/images/customersServed/img28.png'
+import customersServed29 from '@/assets/images/customersServed/img29.png'
+import customersServed30 from '@/assets/images/customersServed/img30.png'
 const config = useRuntimeConfig();
 const BaseUrl = ref(config.public.baseUrl);
 const { t } = useI18n();
@@ -263,7 +291,11 @@ const list2 = ref([
   { name: '24-Hour Support', img: researchAdvantages6, imga: researchAdvantages6_a },
 ])
 const list3 = ref([
-  [customersServed1, customersServed2, customersServed3, customersServed4, customersServed5, customersServed6]
+  [customersServed1, customersServed2, customersServed3, customersServed4, customersServed5, customersServed6],
+  [customersServed7, customersServed8, customersServed9, customersServed10, customersServed11, customersServed12],
+  [customersServed13, customersServed14, customersServed15, customersServed16, customersServed17, customersServed18],
+  [customersServed19, customersServed20, customersServed21, customersServed22, customersServed23, customersServed24],
+  [customersServed25, customersServed26, customersServed27, customersServed28, customersServed29, customersServed30]
 ])
 
 //查询
@@ -319,6 +351,7 @@ reportDict.value = await getLocalSessionReport();
 
 // 研究报告列表
 const map = await reportAndMarketListData();
+console.log("map", map)
 reports.value = map.report;
 markets.value = map.market;
 // onMounted(async () => {
@@ -331,13 +364,15 @@ let params1 = {
 }
 const marketInfoRet1 = await marketInfoPageList(params1);
 marketInfo1.value = marketInfoRet1;
-let params2 = {
-  marketTypeList: "industry-information,policy-interpretation",
-  pageNo: 1,
-  pageSize: 2
-}
-const marketInfoRet2 = await marketInfoPageList(params2);
-marketInfo2.value = marketInfoRet2;
+console.log("marketInfo1", marketInfo1.value)
+// let params2 = {
+//   marketTypeList: "industry-information,policy-interpretation",
+//   pageNo: 1,
+//   pageSize: 2
+// }
+// const marketInfoRet2 = await marketInfoPageList(params2);
+// marketInfo2.value = marketInfoRet2;
+
 useHead({
   title: t('defaultSettings.title'),
   viewport: "width=device-width,initial-scale=1,maximum-scale=1 ",
@@ -492,7 +527,7 @@ useHead({
       span {
         display: block;
         transform: rotateZ(-180deg);
-        font-size: 42px;
+        font-size: var(--size-42);
         color: #1a1a1a;
       }
     }
@@ -500,7 +535,7 @@ useHead({
       right: var(--size-105);
       span {
         display: block;
-        font-size: 42px;
+        font-size: var(--size-42);
         color: #1a1a1a;
       }
     }
@@ -593,6 +628,7 @@ useHead({
           width: var(--size-360);
           border-radius: var(--size-10);
           overflow: hidden;
+          background: #ffffff;
           &:first-child {
             margin-right: var(--size-47);
           }
@@ -600,6 +636,7 @@ useHead({
             width: var(--size-360);
             height: var(--size-404);
             display: block;
+            // object-fit: contain;
           }
           .popularBox_l_list_item_box {
             background: #ffffff;
@@ -688,6 +725,7 @@ useHead({
         cursor: pointer;
         width: var(--size-514);
         margin-right: var(--size-43);
+        background: #ffffff;
         &:last-child {
           margin-right: 0;
         }
@@ -695,6 +733,7 @@ useHead({
           width: var(--size-514);
           height: var(--size-372);
           display: block;
+          // object-fit: contain;
         }
         .hotBox_list_item_box {
           padding: var(--size-30) var(--size-18) var(--size-41);
@@ -844,22 +883,22 @@ useHead({
     .home_t {
       height: 100vh;
       .desc {
-        padding: 30px;
+        padding: var(--size-30);
         .desc_title {
-          font-size: 24px;
+          font-size: var(--size-24);
         }
         .desc_tig {
-          font-size: 12px;
+          font-size: var(--size-12);
         }
       }
     }
     .numList {
-      padding: 0 30px;
+      padding: 0 var(--size-30);
       display: block;
       .item {
         width: 100% !important;
         height: auto;
-        padding: 20px 0;
+        padding: var(--size-20) 0;
         text-align: center;
         img {
           margin: auto;
@@ -880,7 +919,8 @@ useHead({
           height: auto;
         }
         .desc {
-          left: 20px;
+          left: 0;
+          padding: var(--size-20);
           .desc_title {
             width: 100%;
             font-size: var(--size-16);
@@ -897,32 +937,32 @@ useHead({
             margin: var(--size-15) auto;
           }
         }
-
-        .direction {
-          width: var(--size-36);
-          height: var(--size-36);
-          span {
-            font-size: 21px;
-          }
-        }
-        .carousel_l {
-          left: -18px;
-        }
-        .carousel_r {
-          right: -18px;
+      }
+      .direction {
+        width: var(--size-36);
+        height: var(--size-36);
+        top: 48%;
+        span {
+          font-size: var(--size-21);
         }
       }
+      .carousel_l {
+        left: var(--size-7);
+      }
+      .carousel_r {
+        right: var(--size-7);
+      }
     }
     .popularBox {
       display: block;
-      padding: 30px;
+      padding: var(--size-30);
       .popularBox_l {
         margin-right: 0;
         .popularBox_l_title {
           display: block;
           .popularBox_l_title_l {
-            font-size: 24px;
-            line-height: 29px;
+            font-size: var(--size-24);
+            line-height: var(--size-29);
             margin-right: 0;
             font-weight: 700;
           }
@@ -936,7 +976,7 @@ useHead({
           .popularBox_l_list_item {
             width: 48%;
             margin: 0 !important;
-            > img {
+            img {
               width: 100%;
               height: auto;
             }
@@ -989,7 +1029,7 @@ useHead({
       }
     }
     .hotBox {
-      padding: 30px;
+      padding: var(--size-30);
       .hotBox_title {
         font-size: var(--size-24);
       }
@@ -1056,4 +1096,9 @@ useHead({
     }
   }
 }
+::v-deep .customersBox_carousel {
+  .n-carousel.n-carousel--bottom .n-carousel__dots {
+    display: none;
+  }
+}
 </style>

+ 4 - 3
pages/market/index.vue

@@ -17,7 +17,7 @@
           <div> WENKH Market Research Accurately Understands the Market and CustomizesExclusive Research Methods</div>
         </div>
         <div class="contactUs_l_b">We tailor research solutions for different industries and customer needs, integrating qualitative and quantitative analysis, combining desktop research, industryinterviews and data prediction models to ensure accurate market insights. Through a variety of data collection strategies, we efficiently complete research tasksand help customers obtain more valuable market insights.</div>
-        <div class="contactUs_l_btn">Contact Us</div>
+        <a href="/contactUs" class="contactUs_l_btn">Contact Us</a>
       </div>
       <div class="contactUs_r">
         <img src="@/assets/images/market/img3.png" alt="">
@@ -190,9 +190,9 @@
       <div class="latest_list">
         <template v-for="item in hots" :key="item">
           <div class="latest_item">
-            <img :src="BaseUrl + '/report/' + item.fileName" alt="">
+            <a :href="'/reports/' + item.webTitle + '-' + item.id"><img :src="BaseUrl + '/report/' + item.fileName" alt=""></a>
             <div class="latest_item_content">
-              <div class="latest_item_content_title">{{ item.title }}</div>
+              <a :href="'/reports/' + item.webTitle + '-' + item.id" class="latest_item_content_title">{{ item.title }}</a>
               <a :href="'/reports/' + item.webTitle + '-' + item.id" class="latest_item_content_btn">
                 View details
               </a>
@@ -509,6 +509,7 @@ useHead({
       .contactUs_l_btn {
         width: var(--size-158);
         height: var(--size-50);
+        display: block;
         background: linear-gradient(90deg, #60ab91, #84a86c);
         border-radius: var(--size-8);
         font-size: var(--size-16);

+ 6 - 5
pages/news-categories/detail.vue

@@ -17,13 +17,13 @@
         Return to List
       </div>
       <div class="content_list">
-        <div class="content_list_item" @click="handleSwt(last)" v-if="last?.title">
+        <div class="content_list_item" v-if="last?.title">
           Previous Article :
-          <a>{{last?.title}}</a>
+          <a :href="'/news/'+last.webTitle+'-'+last.id">{{last?.title}}</a>
         </div>
-        <div class="content_list_item" @click="handleSwt(next)" v-if="next?.title">
+        <div class="content_list_item" v-if="next?.title">
           Next Article :
-          <a>{{next?.title}}</a>
+          <a :href="'/news/'+next.webTitle+'-'+next.id">{{next?.title}}</a>
         </div>
       </div>
     </div>
@@ -208,7 +208,8 @@ useHead({
         font-size: var(--size-18);
         font-family: Arial, Arial-Regular;
         color: #1a1a1a;
-        line-height: var(--size-44);
+        // line-height: var(--size-44);
+        margin: var(--size-10) 0;
         a {
           color: #808080;
           cursor: pointer;

+ 6 - 3
pages/news-categories/index.vue

@@ -50,10 +50,12 @@
       <div class="box_r">
         <div class="box_r_list">
           <div class="box_r_item" v-for="item in pageList?.list" :key="item">
-            <img :src="BaseUrl +'/fileupload/' + item.filePath +item.fileName" alt="">
+            <a :href="'/news/' +item.webTitle +'-' +item.id">
+              <img :src="BaseUrl +'/fileupload/' + item.filePath +item.fileName" alt="">
+            </a>
             <div class="box_r_item_content">
               <div class="date">{{formatDateEn(item.publishDate) }}</div>
-              <div class="title">{{ item.title }}</div>
+              <a :href="'/news/' +item.webTitle +'-' +item.id" class="title">{{ item.title }}</a>
               <a :href="'/news/' +item.webTitle +'-' +item.id" class="btn">Know More</a>
             </div>
           </div>
@@ -596,7 +598,8 @@ useHead({
             margin-bottom: var(--size-10);
             img {
               width: 100%;
-              height: auto;
+              // height: auto;
+              height: var(--size-82);
               display: block;
             }
             .box_r_item_content {

+ 4 - 0
pages/report-industries/detail.vue

@@ -291,6 +291,10 @@ async function getData() {
     title: record.value.title,
     viewport: "width=device-width,initial-scale=1,maximum-scale=1 ",
     charset: "utf-8",
+    link: [
+      { rel: "canonical", href: config.public.domainName + route.path },
+      { rel: "alternate", hreflang: config.public.domainName + route.path },
+    ],
     meta: [
       {
         hid: "keywords",

+ 0 - 3
pages/report-industries/index.vue

@@ -258,9 +258,7 @@ function handleCategory(
   value: string | undefined,
   label: string | undefined
 ) {
-  //const lang = useLocaleStore().getLocale;
   const language = lang === "zh-CN" ? "" : "en";
-  // item.checked = !Boolean(item.checked);
   record.value.marketType =
     record.value.marketType != item.marketType ? item.marketType : "";
   if (record.value.marketType) {
@@ -279,7 +277,6 @@ function handleCloseTag(_e: MouseEvent, type: string) {
     record.value.marketType = "";
     categoryTag.value = "";
 
-    //const lang = useLocaleStore().getLocale;
     const language = lang === "zh-CN" ? "" : "en";
     router.push({ name: "reports", params: { lang: language } });
   } else {