LcaLayout.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <script setup lang="ts">
  2. const { locale } = useI18n();
  3. const serverData = [
  4. {
  5. iconName: 'carbon/lca-server-01',
  6. title: '数据收集与核算',
  7. desc: '绘制产品生产流程图,收集相关数据',
  8. subDesc: '并进行全生命周期的数据核算',
  9. titleKey: 'develop.LCAFlowItemOne',
  10. descKey: 'develop.LCAFlowItemContentOne',
  11. subDescKey: 'develop.LCAFlowItemContentSubOne'
  12. },
  13. {
  14. iconName: 'carbon/lca-server-02',
  15. title: '产品碳足迹证书',
  16. desc: '为您的产品提供专属的碳足迹证书',
  17. subDesc: '详细涵盖产品的各项信息',
  18. titleKey: 'develop.LCAFlowItemTwo',
  19. descKey: 'develop.LCAFlowItemContentTwo',
  20. subDescKey: 'develop.LCAFlowItemContentSubTwo'
  21. },
  22. {
  23. iconName: 'carbon/lca-server-03',
  24. title: '产品碳标签',
  25. desc: '接轨国际趋势,提供绿色低碳产品',
  26. subDesc: '碳标签,增强产品竞争力',
  27. titleKey: 'develop.LCAFlowItemThree',
  28. descKey: 'develop.LCAFlowItemContentThree',
  29. subDescKey: 'develop.LCAFlowItemContentSubThree'
  30. },
  31. {
  32. iconName: 'carbon/lca-server-04',
  33. title: '产品减碳策略',
  34. desc: '基于全生命周期的碳排情况,为您',
  35. subDesc: '的产品提供科学减碳策略',
  36. titleKey: 'develop.LCAFlowItemFour',
  37. descKey: 'develop.LCAFlowItemContentFour',
  38. subDescKey: 'develop.LCAFlowItemContentSubFour'
  39. },
  40. ]
  41. const iconData = [
  42. { iconName: 'carbon/icon-lca-skill-01', desc: 'GHG protocol' },
  43. { iconName: 'carbon/icon-lca-skill-02', desc: 'PAS 2050' },
  44. { iconName: 'carbon/icon-lca-skill-03', desc: 'ISO 14067' }
  45. ]
  46. const leftData = [
  47. {
  48. title: '识别核算边界',
  49. imgUrl: '/images/carbon/lcal/img-lca-01.png',
  50. titleKey:'develop.LCALifeItemOne',
  51. descKey:'develop.LCALifeItemContentOne',
  52. content: '确定所评估产品的功能单元,如一个玻璃杯或一部手机。再选择产品生命周期的评估范围,从摇篮到大门或者从摇篮到坟墓,进而确定评估范围。'
  53. },
  54. {
  55. title: '上下游数据收集',
  56. imgUrl: '/images/carbon/lcal/img-lca-02.png',
  57. titleKey:'develop.LCALifeItemTwo',
  58. descKey:'develop.LCALifeItemContentTwo',
  59. content: '确定在生命周期各阶段中所涉及的输入和输出流程,包括原材料、能源、废物排放等。通过联系供应商、制造商或者查询碳排因子库来获取相关数据。'
  60. },
  61. {
  62. title: 'LCA碳足迹核算',
  63. imgUrl: '/images/carbon/lcal/img-lca-03.png',
  64. titleKey:'develop.LCALifeItemThree',
  65. descKey:'develop.LCALifeItemContentThree',
  66. content: '根据收集到的数据,计算在每个环节中所产生的温室气体排放量,评估不同环节对环境的影响程度,进而得出产品的碳足迹结果,并提出相应的改进措施。'
  67. },
  68. ]
  69. </script>
  70. <template>
  71. <BaseCard title="LCA产品碳足迹评价" lang-key="develop.LCATitle" is-text>
  72. <ul class="desc-container">
  73. <li>{{ $t('develop.LCATitleOne') }}</li>
  74. <li>{{ $t('develop.LCATitleTwo') }}</li>
  75. <li>{{ $t('develop.LCATitleThree') }}</li>
  76. </ul>
  77. </BaseCard>
  78. <div class="chart-container">
  79. <img class="w-[100%] md:w-[821px] md:h-[411px]" src="@/assets/image/carbo/img-cbam-chart.png" alt="">
  80. </div>
  81. <BaseCard title="LCA全流程服务" class="server-container" lang-key="develop.LCAFlowTitle">
  82. <ul class="grid grid-cols-1 gap-y-[50px] sm:grid-cols-2 md:grid-cols-4 place-content-between">
  83. <li v-for="item,index in serverData" :key="item.titleKey" data-aos="fade-up" :data-aos-delay="(index + 1) * 200">
  84. <IconPanel v-bind="item"></IconPanel>
  85. </li>
  86. </ul>
  87. </BaseCard>
  88. <BaseCard title="LCA全生命周期评价步骤" class="life-container" lang-key="develop.LCALifeTitle">
  89. <div class="grid grid-cols-1 md:grid-cols-3 gap-y-[10px] md:gap-[24px] ">
  90. <div class="life-item" v-for="item, index in leftData" :key="item.title" data-aos="fade-up" :data-aos-delay="(index + 1) * 200">
  91. <div class="img-wrap">
  92. <img :src="item.imgUrl" alt="">
  93. </div>
  94. <div class="text-wrap">
  95. <h5 class="title font-bold">{{ $t(item.titleKey) }}</h5>
  96. <p class="desc">{{ $t(item.descKey) }}</p>
  97. </div>
  98. </div>
  99. </div>
  100. </BaseCard>
  101. <BaseCard title="产品碳足迹核算方法" class="skill-container max-w-[1080px] mx-auto" lang-key="develop.LCAFootprintTitle">
  102. <div class="grid grid-cols-1 gap-y-[10px] sm:grid-cols-3 sm:gap-x-[24px] sm:gap-x-[0px] md:place-content-between">
  103. <div class="skill-item" v-for="item in iconData" :key="item.desc">
  104. <BaseIcon :name="item.iconName" width="48" height="48" />
  105. <span>{{ item.desc }}</span>
  106. </div>
  107. </div>
  108. </BaseCard>
  109. </template>
  110. <style scoped lang="scss">
  111. .server-container {
  112. background: url('@/assets/image/carbo/bg-server.png') left top no-repeat, linear-gradient(180deg, #F7F9FF 57.64%, #F1F5F8 100%);
  113. }
  114. .desc-container {
  115. font-size: 18px;
  116. text-align: center;
  117. line-height: 26px;
  118. color: $t-color-sub;
  119. }
  120. .chart-container {
  121. @include flex(x, center, center);
  122. max-width: 1080px;
  123. margin: 0 auto;
  124. padding-bottom: 88px;
  125. }
  126. .life-container {
  127. .life-item {
  128. border-radius: 8px;
  129. overflow: hidden;
  130. box-shadow: 0px 8px 30px 0px #C3D6E93D;
  131. .img-wrap {
  132. height: 258px;
  133. img {
  134. width: 100%;
  135. height: 100%;
  136. transition: opacity 1s, transform 1s;
  137. &:hover {
  138. opacity: 0.8;
  139. transform: scale3d(1.1, 1.1, 1);
  140. }
  141. }
  142. }
  143. .text-wrap {
  144. position: relative;
  145. height: 188px;
  146. padding: 18px 28px;
  147. margin-top: -55px;
  148. border-radius: 8px 8px 0px 0px;
  149. background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, #FFFFFF 13.49%, #FFFFFF 100%);
  150. .title {
  151. font-size: 22px;
  152. line-height: 36px;
  153. }
  154. .desc {
  155. font-size: 16px;
  156. line-height: 28px;
  157. text-align: justify;
  158. color: #565F83;
  159. }
  160. }
  161. }
  162. }
  163. .skill-container {
  164. background: #F7F9FF;
  165. .skill-item {
  166. @include flex(x, center, center);
  167. height: 98px;
  168. border-radius: 8px;
  169. background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, #FFFFFF 13.49%, #FFFFFF 100%);
  170. box-shadow: 0px 8px 30px 0px #C3D6E93D;
  171. span {
  172. padding-left: 18px;
  173. font-size: 24px;
  174. font-weight: 500;
  175. line-height: 40px;
  176. color: #333333;
  177. }
  178. }
  179. }
  180. .en{
  181. .life-container{
  182. .text-wrap{
  183. height: 258px;
  184. .title {
  185. font-size: 20px;
  186. line-height: 32px;
  187. }
  188. .desc {
  189. font-size: 14px;
  190. }
  191. }
  192. }
  193. }
  194. </style>