chengziding 1 ay önce
ebeveyn
işleme
d9a8bb3dc7

+ 1 - 1
app/router.options.ts

@@ -30,7 +30,7 @@ export default <RouterConfig>{
 
       {
         name: 'newsCategories',
-        path: '/:lang?/news-categories/:marketType?/:keyword?',
+        path: '/:lang?/news-categories/:marketType?/:marketCategory?/:keyword?',
         component: () => import('~/pages/news-categories/index.vue'),
         meta: { title: '行业资讯', titleEn: 'Industry News', activeIndex: 4 }
       },

+ 6 - 0
assets/css/root.scss

@@ -525,6 +525,7 @@
         --size-190: 190px;
         --size-192: 192px;
         --size-194: 194px;
+        --size-195: 195px;
         --size-199: 199px;
         --size-200: 200px;
         --size-204: 204px;
@@ -556,6 +557,7 @@
         --size-264: 264px;
         --size-265: 265px;
         --size-266: 266px;
+        --size-274: 274px;
         --size-277: 277px;
         --size-278: 278px;
         --size-279: 279px;
@@ -616,6 +618,7 @@
         --size-479: 479px;
         --size-485: 485px;
         --size-487: 487px;
+        --size-488: 488px;
         --size-493: 493px;
         --size-494: 494px;
         --size-497: 497px;
@@ -865,6 +868,7 @@
         --size-190: 9.9063vw;
         --size-192: 10.0000vw;
         --size-194: 10.1042vw;
+        --size-195: 10.1562vw;
         --size-199: 10.3646vw;
         --size-200: 10.4167vw;
         --size-204: 10.6250vw;
@@ -896,6 +900,7 @@
         --size-264: 13.7500vw;
         --size-265: 13.8021vw;
         --size-266: 13.8542vw;
+        --size-274: 14.2708vw;
         --size-277: 14.4375vw;
         --size-278: 14.4896vw;
         --size-279: 14.5417vw;
@@ -956,6 +961,7 @@
         --size-479: 24.9063vw;
         --size-485: 25.2604vw;
         --size-487: 25.3646vw;
+        --size-488: 25.4166vw;
         --size-493: 25.677vw;
         --size-494: 25.7292vw;
         --size-497: 25.8333vw;

BIN
assets/images/contactUs/img1.png


BIN
assets/images/contactUs/img2.png


BIN
assets/images/contactUs/img3.png


BIN
assets/images/contactUs/img4.png


BIN
assets/images/newsCategories/img1.png


+ 3 - 3
components/Footer/index.vue

@@ -17,9 +17,9 @@
       <div class="footer_nav_title">Quick Links</div>
       <div class="footer_nav_list">
         <a href="/">Home</a>
-        <a href="/report-industries">Reports Custom</a>
-        <a href="/bulletin/bulletin-think-tank">Research Industry</a>
-        <a href="/news-categories">News</a>
+        <a href="/report-industries">Reports </a>
+        <a href="/market">Custom Research </a>
+        <a href="/news-categories">Industry News</a>
         <a href="/aboutUs">About Us</a>
         <a href="/contactUs">Contact</a>
       </div>

+ 260 - 119
pages/contact/index.vue

@@ -1,91 +1,65 @@
 <template>
   <div id="page" class="page">
-    <div class="top-title wow fadeInUp" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-      <div class="top-container">
-        <n-icon :component="MdNavigate" size="40" style="vertical-align: middle" />
-        <span>{{ t('common.navigate.contactUs') }}</span>
-      </div>
-    </div>
-
-    <div class="page-nav-container wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-      <div class="nav-txt">
-        <n-breadcrumb separator=">">
-          <n-breadcrumb-item>
-            <n-icon :component="MdHome" /><router-link to="/home">{{ t('common.navigate.home') }}</router-link>
-          </n-breadcrumb-item>
-          <n-breadcrumb-item> <n-icon :component="MdNavigate" />{{ t('common.navigate.contactUs') }} </n-breadcrumb-item>
-        </n-breadcrumb>
-      </div>
-    </div>
-
-    <div class="contact">
-      <div class="container">
-        <div class="title wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          <h2>{{ t('contact.contact.title') }}</h2>
-        </div>
-        <div class="contact-desc wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          <div class="contact-desc-info">
-            <div class="corp">{{ t('contact.contact.corpName') }}</div>
-
-            <div class="box">
-              <n-icon :component="IosCall" size="20" />
-              <!-- <a href="tel:86-027-85307885">86-027-85307885</a> -->
-              <a href="tel:1-8884226999">+1-888 422 6999 (US)</a>
-              <span style="display: inline-block; margin: 0 5px">or</span>
-              <a href="tel:86-17320528525">+86-173 2052 8525 (Int'l)</a>
-            </div>
-            <div class="box" v-if="formData.lang === 'zh-CN'">
-              <n-icon :component="MdPhonePortrait" size="20" />
-              <a href="tel:86-17320528525">86-17320528525(24h)</a>
-            </div>
-            <div class="box">
-              <n-icon :component="MdMail" size="20" />
-              <a href="mailto:sales@dirmarketresearch.com">sales@dirmarketresearch.com</a>
-            </div>
-            <div class="box">
-              <n-icon :component="IosPin" size="20" />
-              <span>{{ t('common.footer.area') }}</span>
-              <span>{{ t('common.footer.street') }}</span>
-            </div>
-          </div>
-          <div class="contact-desc-we">
-            <img src="@/assets/images/we.png" />
-          </div>
+    <div class="top">
+      <img src="@/assets/images/report/img1.png" alt="">
+      <div>
+        <div class="top_title">Industry News</div>
+        <div class="top_location">
+          <span class="iconfont icon-weizhi"></span>
+          Current Location : Home <span class="iconfont icon-dkw_guanbi-"></span> <span>Industry News</span>
         </div>
       </div>
     </div>
-
-    <div class="contact-form">
-      <div class="container">
-        <div class="title wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          {{ t('contact.form.title') }}
-        </div>
-        <div class="content wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          <n-form require-mark-placement="left" ref="formRef" :model="formData" :rules="rules" label-width="auto">
+    <div class="content">
+      <div class="content_l">
+        <div class="content_l_title">WENKH Market Research</div>
+        <div class="content_l_line"></div>
+        <n-form require-mark-placement="left" ref="formRef" label-align="left" :model="formData" :rules="rules">
+          <div class="flex">
             <n-form-item :label="t('report.demand.companyName')" label-placement="left" path="companyName">
-              <n-input :placeholder="t('report.demand.companyNameTip')" v-model:value="formData.companyName" />
+              <n-input placeholder="" v-model:value="formData.companyName" />
             </n-form-item>
             <n-form-item :label="t('report.demand.address')" label-placement="left" path="addr">
-              <n-input :placeholder="t('report.demand.addressTip')" v-model:value="formData.addr" />
+              <n-input placeholder="" v-model:value="formData.addr" />
             </n-form-item>
+          </div>
+          <div class="flex">
             <n-form-item :label="t('report.demand.email')" label-placement="left" path="email">
-              <n-input :placeholder="t('report.demand.emailTip')" v-model:value="formData.email" />
+              <n-input placeholder="" v-model:value="formData.email" />
             </n-form-item>
             <n-form-item :label="t('report.demand.phone')" label-placement="left" path="contact">
-              <n-input :placeholder="t('report.demand.phoneTip')" v-model:value="formData.contact" />
-            </n-form-item>
-            <n-form-item :label="t('report.demand.person')" label-placement="left" path="name">
-              <n-input :placeholder="t('report.demand.personTip')" v-model:value="formData.name" />
+              <n-input placeholder="" v-model:value="formData.contact" />
             </n-form-item>
-
-            <n-form-item label="" class="empty-form-item" />
-            <n-form-item :label="t('report.demand.desc')" label-placement="left" path="demand" :style="{ width: '100%' }">
-              <n-input type="textarea" :placeholder="t('report.demand.descTip')" v-model:value="formData.demand" />
-            </n-form-item>
-            <div class="form-item-btn">
-              <n-button type="primary" size="large" @click="handleSubmit">{{ t('report.demand.submit') }}</n-button>
-            </div>
-          </n-form>
+          </div>
+          <n-form-item :label="t('report.demand.person')" label-placement="left" path="name">
+            <n-input placeholder="" v-model:value="formData.name" />
+          </n-form-item>
+          <n-form-item class="area" :label="t('report.demand.desc')" label-placement="top" path="demand" :style="{ width: '100%' }">
+            <n-input type="textarea" placeholder="" v-model:value="formData.demand" />
+          </n-form-item>
+          <div class="form-item-btn">
+            <n-button type="primary" size="large" @click="handleSubmit">{{ t('report.demand.submit') }}</n-button>
+          </div>
+        </n-form>
+      </div>
+      <div class="content_r">
+        <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>
+          <div class="content_r_item ">
+            <img src="@/assets/images/contactUs/img2.png" alt="">
+            <div>market@wenkh.com</div>
+          </div>
+          <div class="content_r_item ">
+            <img src="@/assets/images/contactUs/img3.png" alt="">
+            <div>+1-888 422 6988 (US)</div>
+          </div>
+          <div class="content_r_item ">
+            <img src="@/assets/images/contactUs/img4.png" alt="">
+            <div>+86-191 0717 4767 (Int'l)</div>
+          </div>
         </div>
       </div>
     </div>
@@ -236,64 +210,231 @@ function handleSubmit() {
 }
 </script>
 <style lang="scss" scoped>
-.contact {
-  background-color: #fff;
-  padding-bottom: 50px;
-  .container {
-    .title {
-      border-bottom: 1px solid #eee;
+@import "~/assets/css/tool.scss";
+.page {
+  background: #f6f7fa;
+  .top {
+    width: 100%;
+    position: relative;
+    margin-top: var(--size-130);
+    img {
+      width: 100%;
+    }
+    > div {
+      width: 100%;
+      padding: var(--size-60) var(--size-176) 0;
+      position: absolute;
+      top: 0;
+      left: 0;
+      .top_title {
+        font-size: var(--size-48);
+        font-family: Arial, Arial-Bold;
+        font-weight: 700;
+        text-align: left;
+        color: #ffffff;
+      }
+      .top_location {
+        font-size: var(--size-14);
+        font-family: Arial, Arial-Regular;
+        font-weight: 400;
+        color: #ffffff;
+        .icon-dkw_guanbi- {
+          color: #ffffff;
+          font-size: var(--size-12);
+        }
+        span {
+          color: #72ff56;
+        }
+      }
     }
   }
-  .contact-desc {
+  .content {
     display: flex;
-    justify-content: space-between;
-    align-items: center;
-    .contact-desc-info {
-      width: 55%;
-      .corp {
-        font-size: 2em;
-        color: #18a058;
-        padding: 1.5em 0 2.5em;
+    padding: 100px 145px 0;
+    .content_l {
+      width: 1055px;
+      padding: 30px 30px 60px;
+      background: #ffffff;
+      .content_l_title {
+        font-size: 48px;
+        font-family: Arial, Arial-Bold;
+        font-weight: 700;
+        text-align: center;
+        color: #1a1a1a;
+      }
+      .content_l_line {
+        width: 71px;
+        height: 4px;
+        background: linear-gradient(90deg, #719d59 2%, #479f82 98%);
+        border-radius: 2px;
+        margin: 0 auto 20px;
       }
-      .box {
-        padding: 1em 0;
-        font-size: 1.2em;
-        color: #666;
-        border-bottom: 1px solid #eee;
-        .n-icon {
-          vertical-align: text-bottom;
-          margin-right: 5px;
+      .n-form {
+        .flex {
+          display: flex;
+          justify-content: space-between;
+          :deep(.n-form-item) {
+            width: 48%;
+          }
+        }
+        :deep(.n-form-item-label) {
+          font-size: 18px;
+          font-family: Microsoft YaHei, Microsoft YaHei-Regular;
+          color: #666666;
+          line-height: 63px;
+          border-bottom: 1px solid #e6e6e6;
+        }
+        :deep(.n-input-wrapper) {
+          font-size: 18px;
+          font-family: Microsoft YaHei, Microsoft YaHei-Regular;
+          line-height: 63px;
+          border-bottom: 1px solid #e6e6e6;
+        }
+        :deep(.n-form-item-blank--error .n-input) {
+          --n-border-error: 1px solid transparent !important;
+          --n-border-focus-error: 1px solid transparent !important;
+          --n-border-hover-error: 1px solid transparent !important;
+        }
+        .area {
+          :deep(.n-form-item-label),
+          :deep(.n-input-wrapper) {
+            border-bottom: none;
+          }
+          :deep(.n-input--textarea) {
+            background: #fafafa;
+            border: 1px solid #e6e6e6;
+            border-radius: 10px;
+            padding: 0 5px;
+          }
+          :deep(
+              .n-input.n-input--textarea.n-input--resizable .n-input-wrapper
+            ) {
+            min-height: 260px;
+          }
+        }
+      }
+      .form-item-btn {
+        text-align: center;
+        .n-button {
+          font-size: var(--size-18);
+          font-family: MicrosoftYaHei;
+          text-align: center;
+          color: #ffffff;
+          line-height: var(--size-63);
+          width: var(--size-227);
+          height: var(--size-63);
+          background: linear-gradient(
+            90deg,
+            #7b9c4f 0%,
+            #549f76 70%,
+            #2da19d 100%
+          );
+          border-radius: var(--size-8);
         }
       }
     }
-    .contact-desc-we {
-      width: 40%;
-      padding-top: 30px;
-      img {
-        width: 100%;
+    .content_r {
+      width: 573px;
+      height: 881px;
+      background: linear-gradient(180deg, #709d59, #449f86);
+      border-radius: 0px 10px 10px 0px;
+      padding: 50px 0;
+      .content_r_list {
+        .content_r_item {
+          text-align: center;
+          img {
+            width: 124px;
+            height: 124px;
+          }
+          div {
+            width: 290px;
+            font-size: 16px;
+            font-family: Arial, Arial-Regular;
+            text-align: center;
+            color: #ffffff;
+            margin: 0 auto 30px;
+          }
+        }
       }
     }
   }
 }
-.contact-form {
-  background-color: #fff;
-  border-bottom: 1px solid #eee;
-  padding-bottom: 50px;
-  .container {
-    background-color: #f2f2f2;
+@include responseTo("phone") {
+  .page {
+    .top {
+      img {
+        height: 100px;
+        object-fit: cover;
+      }
+      > div {
+        padding: var(--size-15);
+        .top_title {
+          font-size: var(--size-28);
+        }
+      }
+    }
     .content {
-      padding: 2em;
-      .n-form {
-        display: flex;
-        flex-wrap: wrap;
-        justify-content: space-between;
-        align-items: center;
-        .n-form-item {
-          width: 30%;
+      padding: 0px;
+      flex-direction: column;
+      .content_l {
+        width: 100%;
+        padding: 15px;
+        .content_l_title {
+          font-size: 20px;
+        }
+        .n-form {
+          .flex {
+            display: block;
+            :deep(.n-form-item) {
+              width: 100%;
+            }
+          }
+          :deep(.n-form-item-label) {
+            font-size: 14px;
+            line-height: 40px;
+          }
+          :deep(.n-input-wrapper) {
+            font-size: 14px;
+            line-height: 40px;
+          }
+          .area {
+            :deep(.n-input--textarea) {
+              border-radius: 10px;
+              padding: 0 5px;
+            }
+            :deep(
+                .n-input.n-input--textarea.n-input--resizable .n-input-wrapper
+              ) {
+              min-height: 100px;
+            }
+          }
         }
         .form-item-btn {
-          width: 100%;
-          text-align: center;
+          .n-button {
+            font-size: var(--size-16);
+            line-height: var(--size-36);
+            width: var(--size-100);
+            height: var(--size-40);
+            border-radius: var(--size-8);
+          }
+        }
+      }
+      .content_r {
+        width: 100%;
+        border-radius: 0;
+        height: auto;
+        .content_r_list {
+          .content_r_item {
+            &:last-child {
+              div {
+                margin-bottom: 0;
+              }
+            }
+            img {
+              width: 60px;
+              height: 60px;
+            }
+          }
         }
       }
     }

+ 186 - 6
pages/market/index.vue

@@ -781,13 +781,13 @@ useHead({
     .latest_list {
       display: flex;
       flex-wrap: wrap;
-      margin-top:25px;
+      margin-top: 25px;
       .latest_item {
         border-radius: 10px;
         overflow: hidden;
         width: 359px;
         margin-right: 59px;
-        margin-bottom:60px;
+        margin-bottom: 60px;
         &:nth-child(4n) {
           margin-right: 0;
         }
@@ -805,10 +805,10 @@ useHead({
             color: #1a1a1a;
             line-height: 28px;
             overflow: hidden;
-text-overflow: ellipsis;
-display: -webkit-box;
--webkit-line-clamp: 2;
--webkit-box-orient: vertical;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-line-clamp: 2;
+            -webkit-box-orient: vertical;
           }
           .latest_item_content_btn {
             width: 170px;
@@ -834,4 +834,184 @@ display: -webkit-box;
     }
   }
 }
+@include responseTo("phone") {
+  .market {
+    .top {
+      img {
+        height: 100px;
+        object-fit: cover;
+      }
+      > div {
+        padding: 15px;
+        .top_title {
+          font-size: 28px;
+        }
+      }
+    }
+    .contactUs {
+      padding: 15px;
+      flex-direction: column-reverse;
+      .contactUs_l {
+        .contactUs_l_t {
+          div {
+            width: 100%;
+            font-size: 18px;
+            line-height: 22px;
+          }
+        }
+        .contactUs_l_b {
+          width: 100%;
+          font-size: 14px;
+          line-height: 20px;
+        }
+        .contactUs_l_btn {
+          margin-top: 15px;
+        }
+      }
+      .contactUs_r {
+        img {
+          width: 100%;
+        }
+      }
+    }
+    .customization {
+      padding: 15px;
+      .customization_title {
+        font-size: 18px;
+      }
+      .customization_text {
+        font-size: 14px;
+      }
+      .customization_list {
+        flex-direction: column-reverse;
+        align-items: center;
+        .customization_item {
+          flex-direction: column-reverse;
+          align-items: center;
+          .customization_item_r {
+            transform: rotateZ(90deg);
+          }
+          .customization_item_l {
+            padding: 30px 15px 0;
+            div {
+              margin-top: 15px;
+            }
+          }
+        }
+      }
+    }
+    .customizable {
+      padding: 15px;
+      .customizable_title {
+        font-size: 18px;
+      }
+      .customizable_table {
+        margin-top: 30px;
+        th {
+          font-size: 16px;
+        }
+        tr {
+          td {
+            padding: 5px;
+            font-size: 14px;
+          }
+          .lab {
+            font-size: 16px;
+          }
+        }
+      }
+    }
+    .Research {
+      padding: 15px;
+      .Research_title {
+        font-size: 18px;
+      }
+      .Research_list {
+        .Research_item {
+          img {
+            width: 100% !important;
+            height: auto !important;
+          }
+          .Research_item_box1 {
+            font-size: 16px;
+            text-align: center;
+          }
+          .Research_item_box2 {
+            position: static;
+            color: black;
+          }
+          .Research_item_box2,
+          &:hover .Research_item_box2 {
+            position: static;
+            color: black;
+            display: block;
+            padding: 0;
+            .Research_item_box2_title {
+              display: none;
+            }
+          }
+          .Research_item_box1,
+          &:hover .Research_item_box1 {
+            display: block;
+            top: 160px;
+          }
+          .Research_item_img2,
+          &:hover .Research_item_img2 {
+            display: none;
+          }
+        }
+      }
+    }
+    .industry {
+      padding: 15px;
+      .industry_title {
+        font-size: 18px;
+        margin-bottom: 10px;
+      }
+      .industry_text {
+        font-size: 14px;
+      }
+      .industry_list {
+        .industry_item {
+          width: 33.33%;
+          img {
+            width: 100%;
+            height: auto;
+          }
+          div {
+            font-size: 14px;
+            bottom: 5px;
+          }
+        }
+      }
+    }
+    .latest {
+      padding: 15px;
+      .latest_list {
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+        .latest_item {
+          width: 48%;
+          margin-bottom: 10px;
+          margin-right: 0;
+          img {
+            width: 100%;
+            height: auto;
+          }
+          .latest_item_content {
+            padding: 10px 10px 20px;
+            .latest_item_content_btn {
+              width: 100px;
+              height: 35px;
+              font-size: 14px;
+              line-height: 35px;
+              margin-top: 10px;
+            }
+          }
+        }
+      }
+    }
+  }
+}
 </style>

+ 164 - 58
pages/news-categories/detail.vue

@@ -1,36 +1,37 @@
 <template>
   <div class="page" id="page">
-    <div class="top-title wow fadeInUp" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-      <div class="top-container">
-        <n-icon :component="IosFiling" size="40" style="vertical-align: middle" />
-        <span>{{ t('common.navigate.news') }}</span>
-      </div>
+    <div class="location">
+      <div class="location_l"> <span class="iconfont icon-weizhi"></span></div>
+      <div class="location_r"> Current Location : Home <span class="iconfont icon-dkw_guanbi-"></span> <span>Industry News</span></div>
     </div>
-
-    <div class="newsdt-page">
-      <div class="container newsdt-container wow fadeInRight" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-        <h1 class="newsdt-title">
-          {{ vo?.title }}
-        </h1>
-        <p class="newsdt-time">
-          <n-icon :component="MdTime" color="#0e7a0d" size="20" />
-          <span>{{ vo?.publishDate }}</span>
-        </p>
-        <div class="newsdt-text">
-          <div v-html="vo?.context"></div>
+    <div class="content">
+      <div class="content_title">{{ vo?.title }}</div>
+      <div class="content_deta">
+        <span class="iconfont icon-normal"></span>
+        {{formatDateEn(vo?.publishDate)}}
+      </div>
+      <div class="newsdt-text">
+        <div v-html="vo?.context"></div>
+      </div>
+      <div class="content_btn" @click="router.go(-1)">
+        Return to List
+      </div>
+      <div class="content_list">
+        <div class="content_list_item" @click="handleSwt(last)" v-if="last?.title">
+          Previous Article :
+          <a>{{last?.title}}</a>
         </div>
-        <div class="newsdt-other wow fadeInDown" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          <a v-if="last" class="newsdt-other-prev" @click="handleSwt(last)">{{ t('news.detail.last') + ':' + last?.title }}</a>
-          <a v-if="next" class="newsdt-other-next" @click="handleSwt(next)">{{ t('news.detail.next') + ':' + next?.title }}</a>
+        <div class="content_list_item" @click="handleSwt(next)" v-if="next?.title">
+          Next Article :
+          <a>{{next?.title}}</a>
         </div>
       </div>
     </div>
-
-    <div class="load">
+    <!-- <div class="load">
       <n-spin size="large">
         <template #description>{{ t('report.content.loading') }}</template>
       </n-spin>
-    </div>
+    </div> -->
   </div>
 </template>
 
@@ -127,54 +128,159 @@ useHead({
 </script>
 
 <style lang="scss" scoped>
-.newsdt-page {
-  padding: 50px 0;
-  .newsdt-container {
-    background-color: #fff;
-    padding: 40px;
-    .newsdt-title {
-      font-size: 24px;
-      font-weight: 700;
-      color: #214385;
+@import "~/assets/css/tool.scss";
+.page {
+  margin-top: var(--size-130);
+  .location {
+    display: flex;
+    border-bottom: 1px solid #e6e6e6;
+    padding: 0 var(--size-160);
+    background: #ffffff;
+    .location_l {
+      width: var(--size-60);
+      height: var(--size-60);
+      background: #dcdcdc;
+      color: #383838;
+      font-size: var(--size-16);
+      text-align: center;
+      line-height: var(--size-60);
+      margin-right: var(--size-30);
     }
-    .newsdt-time {
-      margin: 15px 0;
-      .n-icon {
-        vertical-align: sub;
+    .location_r {
+      font-size: var(--size-14);
+      font-family: Arial, Arial-Regular;
+      color: #666666;
+      line-height: var(--size-59);
+      span {
+        color: #639e57;
+        font-family: Microsoft YaHei, Microsoft YaHei-Regular;
+      }
+      .icon-dkw_guanbi- {
+        color: #666666;
+        font-size: var(--size-12);
       }
-      > span {
-        font-size: 18px;
-        margin-left: 3px;
-        font-weight: bold;
+    }
+  }
+  .content {
+    padding: var(--size-50) var(--size-195);
+    .content_title {
+      font-size: var(--size-38);
+      font-family: Arial, Arial-Bold;
+      font-weight: 700;
+      text-align: center;
+      color: #1a1a1a;
+      line-height: var(--size-59);
+    }
+    .content_deta {
+      font-size: var(--size-18);
+      font-family: Arial, Arial-Regular;
+      font-weight: 400;
+      text-align: center;
+      color: #999999;
+      line-height: var(--size-44);
+      border-bottom: 1px solid #d9d9d9;
+      padding-bottom: var(--size-20);
+      span {
+        font-size: var(--size-18);
+        display: inline-block;
+        margin-right: var(--size-2);
       }
     }
     .newsdt-text {
-      padding: 40px 0;
-      border-top: 1px solid #dedede;
-      border-bottom: 1px solid #dedede;
+      padding: var(--size-40) 0;
     }
-    .newsdt-other {
-      display: flex;
-      width: 100%;
-      justify-content: space-between;
-      margin-top: 30px;
-      > a {
-        display: block;
-        width: 45%;
-        height: 40px;
-        line-height: 40px;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        white-space: nowrap;
-        font-size: 16px;
+    .content_btn {
+      font-size: var(--size-18);
+      font-family: MicrosoftYaHei;
+      text-align: center;
+      color: #ffffff;
+      line-height: var(--size-63);
+      width: var(--size-227);
+      height: var(--size-63);
+      background: linear-gradient(90deg, #7b9c4f 0%, #549f76 70%, #2da19d 100%);
+      border-radius: var(--size-8);
+      margin: auto;
+      cursor: pointer;
+    }
+    .content_list {
+      margin-top: var(--size-55);
+      > div {
+        font-size: var(--size-18);
+        font-family: Arial, Arial-Regular;
+        color: #1a1a1a;
+        line-height: var(--size-44);
+        a {
+          color: #808080;
+          cursor: pointer;
+        }
+        &:hover {
+          font-weight: 700;
+          color: #639e57;
+          a {
+            color: #639e57;
+          }
+        }
       }
     }
   }
 }
-
 .load {
   display: v-bind("spinShow");
 }
+@include responseTo("phone") {
+  .page {
+    .location {
+      padding: 0;
+      .location_l {
+        margin-right: var(--size-15);
+      }
+    }
+    .content {
+      padding: var(--size-15);
+      .content_title {
+        font-size: var(--size-16);
+        font-weight: 700;
+        line-height: var(--size-26);
+      }
+      .content_deta {
+        font-size: var(--size-14);
+        padding-bottom: var(--size-10);
+        span {
+          font-size: var(--size-16);
+        }
+      }
+      .newsdt-text {
+        padding: 0 0 var(--size-40);
+        :deep(img) {
+          max-width: 100%;
+        }
+      }
+      .content_list {
+        margin-top: var(--size-25);
+        > div {
+          font-size: var(--size-16);
+          line-height: var(--size-28);
+          a {
+            font-size: var(--size-16);
+          }
+          &:hover {
+            font-weight: 700;
+            color: #639e57;
+            a {
+              color: #639e57;
+            }
+          }
+        }
+      }
+      .content_btn {
+        width: var(--size-108);
+        height: var(--size-34);
+        font-size: var(--size-14);
+        line-height: var(--size-32);
+      }
+    }
+  }
+}
 </style>
 <style lang="scss">
 .newsdt-text {

+ 462 - 185
pages/news-categories/index.vue

@@ -1,111 +1,90 @@
 <template>
   <div class="page" id="page">
-    <div class="top-title wow fadeInUp" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-      <div class="top-container">
-        <n-icon :component="IosFiling" size="40" style="vertical-align: middle" />
-        <span>{{ t("common.navigate.news") }}</span>
-      </div>
-    </div>
-
-    <div class="page-nav-container wow fadeInLeft" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-      <div class="nav-txt">
-        <n-breadcrumb separator=">">
-          <n-breadcrumb-item>
-            <n-icon :component="MdHome" /><router-link to="/home">{{
-              t("common.navigate.home")
-            }}</router-link>
-          </n-breadcrumb-item>
-          <n-breadcrumb-item>
-            <n-icon :component="IosFiling" />{{ t("common.navigate.news") }}
-          </n-breadcrumb-item>
-        </n-breadcrumb>
+    <div class="top">
+      <img src="@/assets/images/report/img1.png" alt="">
+      <div>
+        <div class="top_title">Industry News</div>
+        <div class="top_location">
+          <span class="iconfont icon-weizhi"></span>
+          Current Location : Home <span class="iconfont icon-dkw_guanbi-"></span> <span>Industry News</span>
+        </div>
       </div>
     </div>
-
-    <div class="news-content">
-      <div class="container content">
-        <div class="search wow fadeInUp" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-          <div class="search-keyword">
-            <n-input type="text" size="large" round :placeholder="t('report.content.keyword')" clearable v-model:value="params.keyword">
-              <template #suffix>
-                <a class="search-btn" @click="handleSearch"><n-icon :component="MdSearch" size="30" color="#0e7a0d" /></a>
-              </template>
-            </n-input>
+    <div class="box">
+      <div class="box_l">
+        <div class="box_l_title">
+          <div>Information Type</div>
+          <div>
+            <span class="iconfont icon-shouqi1"></span>
           </div>
-          <div class="search-type">
-            <a :class="
-                !params?.marketType && !params.marketCategory ? 'selected' : ''
-              " @click="handleAll()">{{ t("news.category.title") }}</a>
-            <!--资讯分类-->
-            <template v-for="item in newsCategory" :key="item">
-              <a :class="item.dictValue === params?.marketType ? 'selected' : ''" @click="handleType(item.dictValue)">{{ item.dictLabel }}</a>
-            </template>
-            <!--报告分类-->
-            <template v-for="item in reportTypes" :key="item">
-              <a :class="
-                  item.dictValue === params?.marketCategory ? 'selected' : ''
-                " @click="handleCategroy(item.dictValue)">{{ item.dictLabel }}</a>
-            </template>
+        </div>
+        <div class="box_l_list">
+          <template v-for="item in newsCategory" :key="item">
+            <div class="box_l_list_item" :class="{active:item.dictValue === params?.marketType}" @click=" handleType(item.dictValue)">
+              <div class="box_l_list_item_l">{{ item.dictLabel }}</div>
+              <div class="box_l_list_item_r ">
+                <div></div>
+                <span class="iconfont icon-duigou"></span>
+              </div>
+            </div>
+          </template>
+        </div>
+        <div class="box_l_title">
+          <div>Industry Segment</div>
+          <div>
+            <span class="iconfont icon-shouqi1"></span>
           </div>
         </div>
-
-        <div class="content-list">
-          <template v-for="item in pageList?.list" :key="item">
-            <n-list :show-divider="false">
-              <n-list-item class="content-list-item wow fadeInRight" data-wow-duration="2s" data-wow-delay="0s" data-wow-offset="0">
-                <template #prefix>
-                  <div class="img">
-                    <a :href="
-                        (lang === 'zh-CN' ? '' : '/en') +
-                        '/news/' +
-                        item.webTitle +
-                        '-' +
-                        item.id
-                      ">
-                      <img :src="
-                          BaseUrl +
-                          '/fileupload/' +
-                          item.filePath +
-                          item.fileName
-                        " />
-                    </a>
-                  </div>
-                </template>
-
-                <!-- <a class="list-title" @click="viewDetail(item)">{{ item.title }}</a> -->
-                <a class="list-title" :href="
-                    (lang === 'zh-CN' ? '' : '/en') +
-                    '/news/' +
-                    item.webTitle +
-                    '-' +
-                    item.id
-                  ">{{ item.title }}</a>
-                <div v-if="pcShow" class="list-pc">
-                  <p class="list-content">{{ item.outline }}</p>
-                  <span class="list-date">{{ item.publishDate }}</span>
-                </div>
-              </n-list-item>
-              <template #footer>
-                <div v-if="!pcShow" class="list-mobile">
-                  <p class="list-content">{{ item.outline }}</p>
-                  <span class="list-date">{{ item.publishDate }}</span>
-                </div>
-              </template>
-            </n-list>
+        <div class="box_l_list">
+          <template v-for="(item,i) in reportTypes" :key="i">
+            <div class="box_l_list_item" :class="{active:item.dictValue === params?.marketCategory }" @click="handleCategroy(item.dictValue)">
+              <div class="box_l_list_item_l">{{ item.dictLabel }}</div>
+              <div class="box_l_list_item_r ">
+                <div></div>
+                <span class="iconfont icon-duigou"></span>
+              </div>
+            </div>
           </template>
-
-          <div class="pagination">
-            <n-pagination :page="pageList?.pageNo" :page-count="pageList?.count" :page-size="pageList?.pageSize" size="large" :on-update-page="changePage" :page-slot="7" />
+        </div>
+      </div>
+      <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="">
+            <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="btn">Know More</a>
+            </div>
           </div>
         </div>
+        <div class="pageBox" v-if="pageList?.list.length>0">
+          <n-pagination show-quick-jumper :page-count="pageList?.count" :on-update:page="changePage" :page-slot="6">
+            <template #prev>
+              <div class="pageBox_btn">Previous</div>
+            </template>
+            <template #next>
+              <div class="pageBox_btn">Next</div>
+            </template>
+            <template #goto>
+              <div class="pageBox_inp">Go To</div>
+            </template>
+          </n-pagination>
+        </div>
+        <div class="box-empty" v-if="pageList?.count === 0">
+          <n-empty description="The specified information was not found">
+            <template #extra>
+              <!-- <n-button @click="handleDemand({ id: '', price: 0 }, '0')" round type="primary">{{ t("report.detail.custom") }}</n-button> -->
+            </template>
+          </n-empty>
+        </div>
+        <div class="load">
+          <n-spin size="large">
+            <template #description>Loading...</template>
+          </n-spin>
+        </div>
       </div>
     </div>
-
-    <div class="load">
-      <n-spin size="large">
-        <template #description>{{ t("report.content.loading") }}</template>
-      </n-spin>
-    </div>
   </div>
 </template>
 
@@ -190,32 +169,48 @@ async function getData() {
   spinShow.value = "block";
   params.value.lang = lang;
   const ret = await marketInfoPageList(params.value);
-  setTimeout(() => {
-    pageList.value = ret.data;
-    spinShow.value = "none";
-  }, 500);
+  console.log("aaaaaaa", ret);
+  // setTimeout(() => {
+  pageList.value = ret;
+  spinShow.value = "none";
+  // }, 500);
 }
 
 //报告分类
 function handleCategroy(type: string | undefined) {
   params.value.marketType = "";
-  params.value.marketCategory = type;
   const language = lang === "zh-CN" ? "" : "en";
-  router.push({
-    name: "newsCategories",
-    params: { marketCategory: type, lang: language },
-  });
+  if (params.value.marketCategory == type) {
+    router.push({
+      name: "newsCategories",
+      params: { lang: language },
+    });
+  } else {
+    params.value.marketCategory = type;
+    router.push({
+      name: "newsCategories",
+      params: { marketCategory: type, lang: language },
+    });
+  }
 }
 
 //资讯分类
 function handleType(type: string | undefined) {
   params.value.marketCategory = "";
-  params.value.marketType = type;
   const language = lang === "zh-CN" ? "" : "en";
-  router.push({
-    name: "newsCategories",
-    params: { marketType: type, lang: language },
-  });
+  if (params.value.marketType == type) {
+    params.value.marketType = "";
+    router.push({
+      name: "newsCategories",
+      params: { lang: language },
+    });
+  } else {
+    params.value.marketType = type;
+    router.push({
+      name: "newsCategories",
+      params: { marketType: type, lang: language },
+    });
+  }
 }
 
 // 全部
@@ -280,94 +275,376 @@ useHead({
 </script>
 
 <style scoped lang="scss">
-.news-content {
-  padding-bottom: 30px;
-  margin-top: 10px;
-  .content {
-    background-color: #fff;
-    padding: 3em 4em;
-    .search {
-      .search-keyword {
-        width: 70%;
-        .n-icon {
-          vertical-align: middle;
+@import "~/assets/css/tool.scss";
+.load {
+  display: v-bind("spinShow");
+}
+.page {
+  .top {
+    width: 100%;
+    position: relative;
+    margin-top: var(--size-130);
+    img {
+      width: 100%;
+    }
+    > div {
+      width: 100%;
+      padding: var(--size-60) var(--size-176) 0;
+      position: absolute;
+      top: 0;
+      left: 0;
+      .top_title {
+        font-size: var(--size-48);
+        font-family: Arial, Arial-Bold;
+        font-weight: 700;
+        text-align: left;
+        color: #ffffff;
+      }
+      .top_location {
+        font-size: var(--size-14);
+        font-family: Arial, Arial-Regular;
+        font-weight: 400;
+        color: #ffffff;
+        .icon-dkw_guanbi- {
+          color: #ffffff;
+          font-size: var(--size-12);
+        }
+        span {
+          color: #72ff56;
+        }
+      }
+    }
+  }
+  .box {
+    background: #f6f7fa;
+    padding: var(--size-30) var(--size-147) var(--size-70);
+    display: flex;
+    .box_l {
+      background: #ffffff;
+      width: var(--size-493);
+      flex-shrink: 0;
+      .box_l_title {
+        width: 100%;
+        padding: var(--size-20) var(--size-30);
+        background: #6aaa87;
+        font-size: var(--size-22);
+        font-family: Arial, Arial-Bold;
+        font-weight: 700;
+        text-align: left;
+        color: #ffffff;
+        line-height: var(--size-22);
+        display: flex;
+        justify-content: space-between;
+        span {
+          font-size: var(--size-13);
         }
       }
-      .search-type {
+      .box_l_list {
+        padding: var(--size-12) 0;
+        border: 1px solid #ffffff;
+        border-bottom: var(--size-20) solid #ffffff;
+        background: #f4f7f9;
+        min-height: var(--size-282);
+        .box_l_list_item {
+          padding: var(--size-6) var(--size-30);
+          display: flex;
+          justify-content: space-between;
+          background: #f4f7f9;
+          cursor: pointer;
+          .box_l_list_item_l {
+            font-size: var(--size-18);
+            font-family: Arial, Arial-Regular;
+            color: #639e57;
+            line-height: var(--size-22);
+          }
+          .box_l_list_item_r {
+            width: var(--size-27);
+            height: var(--size-27);
+            border: 1px solid #639e57;
+            border-radius: 50%;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            > div {
+              width: var(--size-17);
+              height: var(--size-17);
+              background: #639e57;
+              border-radius: 50%;
+              display: block;
+            }
+            span {
+              display: none;
+            }
+          }
+        }
+        .active {
+          .box_l_list_item_l {
+            font-weight: 700;
+          }
+          .box_l_list_item_r {
+            background: #639e57;
+            span {
+              color: #ffffff;
+              font-size: var(--size-25);
+            }
+            > div {
+              display: none;
+            }
+            span {
+              display: block;
+            }
+          }
+        }
+        .selBox {
+          display: flex;
+          align-items: center;
+          padding: var(--size-8) var(--size-30);
+          > span {
+            display: inline-block;
+          }
+          .selBox_btn {
+            width: var(--size-68);
+            height: var(--size-44);
+            background: linear-gradient(90deg, #719d58 4%, #43a086 99%);
+            border-radius: var(--size-4);
+            font-size: var(--size-16);
+            font-family: Microsoft YaHei, Microsoft YaHei-Regular;
+            color: #ffffff;
+            cursor: pointer;
+            text-align: center;
+            line-height: var(--size-44);
+            flex-shrink: 0;
+          }
+        }
+      }
+    }
+    .box_r {
+      margin-left: var(--size-42);
+      flex-grow: 1;
+      .box_r_list {
         display: flex;
-        margin-top: 20px;
         flex-wrap: wrap;
-        > a {
-          display: block;
-          padding: 8px 15px;
-          background-color: #eaedf4;
-          border-radius: 30px;
-          font-size: 14px;
-          margin: 0 1rem 1rem 0;
+        .box_r_item {
+          width: var(--size-526);
+          background: #ffffff;
+          border-radius: var(--size-10);
+          overflow: hidden;
+          padding: var(--size-19);
+          margin-bottom: var(--size-20);
+          cursor: default;
+          &:nth-child(2n-1) {
+            margin-right: var(--size-20);
+          }
+          img {
+            width: var(--size-488);
+            height: var(--size-274);
+            border-radius: var(--size-8);
+            overflow: hidden;
+          }
+          .box_r_item_content {
+            .date {
+              font-size: var(--size-16);
+              font-family: Arial, Arial-Regular;
+              color: #808080;
+              line-height: var(--size-15);
+              margin-top: var(--size-15);
+            }
+            .title {
+              font-size: var(--size-20);
+              font-family: Arial-BoldMT;
+              color: #333333;
+              line-height: var(--size-28);
+              margin-top: var(--size-10);
+              font-weight: 700;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              display: -webkit-box;
+              -webkit-line-clamp: 2;
+              -webkit-box-orient: vertical;
+            }
+            .btn {
+              width: var(--size-108);
+              height: var(--size-29);
+              display: block;
+              background: rgba(0, 0, 0, 0);
+              border: var(--size-1) solid #509f7a;
+              font-size: var(--size-14);
+              font-family: ArialMT;
+              text-align: center;
+              color: #509f7a;
+              line-height: var(--size-27);
+              margin-top: var(--size-20);
+              cursor: pointer;
+            }
+          }
+          &:hover {
+            background: #399ac0;
+            .box_r_item_content {
+              .date {
+                color: #ffffff;
+              }
+              .title {
+                color: #ffffff;
+              }
+              .btn {
+                color: #ffffff;
+                border: var(--size-1) solid #ffffff;
+              }
+            }
+          }
         }
-        a.selected {
-          background-color: #18a058;
-          color: #fff;
+      }
+      .pageBox {
+        display: flex;
+        justify-content: center;
+        ::v-deep .n-pagination-item {
+          min-width: var(--size-42);
+          height: var(--size-42);
+          background: #f2f2f2;
+          border: 1px solid #cccccc;
+          border-radius: var(--size-4);
+          font-size: var(--size-14);
+          color: #808080;
+          text-align: center;
+          line-height: var(--size-40);
+        }
+        ::v-deep .n-pagination-item--active {
+          background: rgba(57, 154, 192, 1);
+          color: #ffffff;
+          &:hover {
+            background: rgba(57, 154, 192, 1);
+            color: #ffffff;
+          }
+        }
+        .pageBox_btn {
+          width: var(--size-70);
+          color: #333333;
+        }
+        ::v-deep(.n-input__input) {
+          height: var(--size-40);
+          line-height: var(--size-40);
+        }
+        ::v-deep(.n-pagination .n-pagination-quick-jumper .n-input) {
+          border: 1px solid #cccccc;
+        }
+        .pageBox_inp {
+          font-size: var(--size-16);
         }
       }
     }
-    .img {
-      height: 160px;
-      width: 200px;
-      overflow: hidden;
+  }
+}
+@include responseTo("phone") {
+  .page {
+    .top {
       img {
-        width: 100%;
-        transition: all 0.4s ease;
-        height: 100%;
+        height: 100px;
         object-fit: cover;
-        &:hover {
-          transform: scale(1.1);
+      }
+      > div {
+        padding: var(--size-15);
+        .top_title {
+          font-size: var(--size-28);
         }
       }
     }
-  }
-}
-
-.list-title {
-  display: block;
-  font-size: 19px;
-  color: #333333;
-  font-weight: bold;
-  transition: all 0.4s ease;
-  padding: 10px 0;
-}
-.list-content {
-  font-size: 14px;
-  color: #999999;
-  line-height: 26px;
-  text-overflow: ellipsis;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  word-wrap: break-word;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  height: 70px;
-  margin: 0;
-}
-.list-date {
-  display: block;
-  font-size: 14px;
-  color: #999999;
-  line-height: 26px;
-}
-
-.pagination {
-  width: 100%;
-  display: flex;
-  justify-content: center;
-  padding-top: 40px;
-  border-top: 1px solid rgb(239 239 245);
-}
-.content-list-item {
-  padding: 40px 20px;
-}
+    .box {
+      padding: var(--size-15);
+      width: 100%;
+      display: block;
+      .box_l {
+        width: 100%;
+        .box_l_list {
+          .box_l_list_item {
+            padding: var(--size-6) var(--size-20);
+            .box_l_list_item_l {
+              font-size: var(--size-16);
+            }
+            .box_l_list_item_r {
+              width: var(--size-20);
+              height: var(--size-20);
+              > div {
+                width: var(--size-12);
+                height: var(--size-12);
+              }
+            }
+          }
+          .active .box_l_list_item_r span {
+            font-size: var(--size-18);
+          }
+          .selBox {
+            padding: var(--size-6) var(--size-20);
+            .selBox_btn {
+              width: var(--size-52);
+              height: var(--size-34);
+              border-radius: var(--size-4);
+              font-size: var(--size-16);
+              line-height: var(--size-34);
+            }
+          }
+        }
+      }
+      .box_r {
+        margin-left: 0;
+        margin-top: var(--size-20);
+        .box_r_list {
+          justify-content: space-between;
+          .box_r_item {
+            width: 48%;
+            padding: var(--size-10) var(--size-10) var(--size-20);
+            margin-right: 0 !important;
+            margin-bottom: var(--size-10);
+            img {
+              width: 100%;
+              height: auto;
+              display: block;
+            }
+            .box_r_item_content {
+              .date {
+                margin-top: var(--size-5);
+                font-size: var(--size-14);
+              }
+              .title {
+                font-size: var(--size-16);
+                line-height: var(--size-20);
+                margin-top: var(--size-5);
+              }
+              .btn {
+                margin-top: var(--size-15);
+              }
+            }
+          }
+        }
+        .pageBox {
+          ::v-deep .n-pagination-item {
+            min-width: var(--size-21);
+            height: var(--size-21);
+            border-radius: var(--size-2);
+            font-size: var(--size-8);
+            line-height: var(--size-20);
+          }
+          .pageBox_btn {
+            width: var(--size-35);
+          }
+          ::v-deep(.n-input__input) {
+            height: var(--size-20);
+            line-height: var(--size-20);
+            font-size: var(--size-9);
+          }
+          .pageBox_inp {
+            font-size: var(--size-8);
+          }
 
-.load {
-  display: v-bind("spinShow");
+          ::v-deep(.n-pagination .n-pagination-quick-jumper .n-input) {
+            width: var(--size-35);
+          }
+          ::v-deep(.n-input .n-input__input-el) {
+            height: var(--size-20);
+            line-height: var(--size-20);
+          }
+        }
+      }
+    }
+  }
 }
 </style>

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

@@ -863,6 +863,9 @@ await getData();
   .page {
     .location {
       padding: 0;
+      .location_l {
+        margin-right: 15px;
+      }
     }
     .content {
       padding: 0;

+ 2 - 2
pages/report-industries/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="page">
     <div class="top">
-      <img src="@/assets/images/report/img1.png" alt="">
+      <img src="@/assets/images/newsCategories/img1.png" alt="">
       <div>
         <div class="top_title">Reports</div>
         <div class="top_location">
@@ -107,7 +107,7 @@
           </n-pagination>
         </div>
         <div class="box-empty" v-if="pageList?.count === 0">
-          <n-empty description="未找到指定的报告">
+          <n-empty description="The specified report was not found">
             <template #extra>
               <!-- <n-button @click="handleDemand({ id: '', price: 0 }, '0')" round type="primary">{{ t("report.detail.custom") }}</n-button> -->
             </template>