VcsLayout.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <script setup lang="ts">
  2. const {locale} = useI18n();
  3. const flowList = [
  4. {
  5. title: '选择方法学',
  6. content: '项目业主必须选择一个适合自己项目的VCS方法学或通过VCS方法学开发流程开发适用于自己项目的新方法学。',
  7. langKey: 'vcs.flowTitleOne',
  8. contentKey: 'vcs.flowContentOne'
  9. },
  10. {
  11. title: '项目描述及公示',
  12. content: '业主需要在VCS注册处开设账户并将项目书提交VCS项目开发列表进行公示。',
  13. langKey: 'vcs.flowTitleTwo',
  14. contentKey: 'vcs.flowContentTwo'
  15. },
  16. {
  17. title: '审定项目书',
  18. content: '业主需要聘请一个VVB对其项目阐释进行审定。',
  19. langKey: 'vcs.flowTitleThree',
  20. contentKey: 'vcs.flowContentThree'
  21. },
  22. {
  23. title: '核证减排量',
  24. content: '项目业主需要监测记录减排数据,并制作监测报告。并由第三方进行核证。',
  25. langKey: 'vcs.flowTitleFour',
  26. contentKey: 'vcs.flowContentFour'
  27. },
  28. {
  29. title: '签发核证减排量(VCUs)',
  30. content: '业主提出减排量签发申请。减排量获得签发,由业主决定持有,出售或注销。',
  31. langKey: 'vcs.flowTitleFive',
  32. contentKey: 'vcs.flowContentFive'
  33. }
  34. ]
  35. const descList = [
  36. {
  37. val: 'VERRA主管的核证减排标准VCS是全球最大的自愿性减排机制。VCS项目由非盈利的独立协会管理,要求项目自愿',
  38. langKey: 'vcs.descItemOne',
  39. },
  40. {
  41. val: '碳减排必须是真实、可测算、永久、独立核实和唯一。VCS是目前较为成熟的碳补偿标准,也是世界上应用最广的碳减排计量标',
  42. langKey: 'vcs.descItemTwo',
  43. },
  44. {
  45. val: '碳减排必须是真实、可测算、永久、独立核实和唯一。VCS是目前较为成熟的碳补偿标准,也是世界上应用最广的碳减排计量标',
  46. langKey: 'vcs.descItemThree',
  47. }
  48. ]
  49. </script>
  50. <template>
  51. <BaseDevLayout
  52. subTitle="对于碳资产项目开发,红杉天枰为您提供从开发-签发-交易的一站式全流程服务"
  53. subTitleLangKey="vcs.serviceTitle"
  54. card-title="国际核证碳减排标准(VCS)"
  55. cardTitleLangKey="vcs.descTitle"
  56. :descList="descList"
  57. >
  58. <BaseCard
  59. title="VCS能够开发的项目"
  60. lang-key="vcs.projectTitle"
  61. is-text
  62. class="introduce-container max-w-[1080px] mx-auto"
  63. :card-wrapper-style="{
  64. padding: '88px 0'
  65. }">
  66. <ul class="project-list grid grid-cols-1 md:grid-cols-2 gap-[20px]">
  67. <li class="project-item h-[315px]">
  68. <p class="item-title">{{ $t('vcs.projectItemOne') }}</p>
  69. </li>
  70. <li class="project-item h-[315px]">
  71. <p class="item-title">{{ $t('vcs.projectItemTwo') }}</p>
  72. </li>
  73. </ul>
  74. </BaseCard>
  75. <BaseCard
  76. title="VCS项目开发流程"
  77. lang-key="vcs.flowTitle"
  78. is-text
  79. class="flow-container max-w-[1080px] mx-auto"
  80. :card-wrapper-style="{
  81. padding: '88px 0 163px 0',
  82. }">
  83. <div class="flow-list grid grid-cols-1 sm:grid-cols-3 lg:grid-cols-5 gap-[20px]">
  84. <div :class="[
  85. 'flow-item-wrapper',
  86. 'h-[auto]',
  87. 'sm:h-[300px]',
  88. i % 2 === 0 ? 'lg:pt-[50px]' : ''
  89. ]"
  90. v-for="item, i in flowList">
  91. <div class="flow-item">
  92. <div class="flow-item-content w-full sm:w-[202px]">
  93. <h4 class="title">{{ $t(item.langKey) }}</h4>
  94. <div class="line"></div>
  95. <span class="desc">
  96. {{ $t(item.contentKey) }}
  97. </span>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </BaseCard>
  103. </BaseDevLayout>
  104. </template>
  105. <style scoped lang="scss">
  106. .project-list {
  107. padding-top: 30px;
  108. .project-item {
  109. display: flex;
  110. flex-direction: column;
  111. justify-content: flex-end;
  112. border-radius: 8px;
  113. overflow: hidden;
  114. -webkit-transition: background-size 1s linear;
  115. transition: background-size 1s linear;
  116. .item-title {
  117. display: flex;
  118. align-items: center;
  119. height: 100px;
  120. padding-left: 40px;
  121. line-height: 34px;
  122. font-size: 24px;
  123. color: #fff;
  124. backdrop-filter: blur(10px);
  125. }
  126. &:nth-child(1) {
  127. background: url("~/assets/image/carbo/dmrv/bg-dev-01.png") center center no-repeat;
  128. background-size: 100% 100%;
  129. }
  130. &:nth-child(2) {
  131. background: url("~/assets/image/carbo/dmrv/bg-dev-02.png") center center no-repeat;
  132. background-size: 100% 100%;
  133. }
  134. // &:nth-child(3) {
  135. // background: url("~/assets/image/carbo/dmrv/img-project-03.png") center center no-repeat;
  136. // background-size: cover;
  137. // }
  138. // &:nth-child(4) {
  139. // background: url("~/assets/image/carbo/dmrv/img-project-04.png") center center no-repeat;
  140. // background-size: cover;
  141. // }
  142. &:hover {
  143. opacity: 0.9;
  144. background-size: 110% 110%;
  145. }
  146. }
  147. }
  148. .flow-container {
  149. background: #f7fafd url("~/assets/image/carbo/dmrv/bg-flow.png") center bottom no-repeat;
  150. background-size: 100% 240px;
  151. }
  152. .flow-list {
  153. padding-top: 48px;
  154. .flow-item-wrapper {
  155. position: relative;
  156. // height: 300px;
  157. .flow-item {
  158. position: relative;
  159. height: 100%;
  160. &::after,
  161. &::before {
  162. position: absolute;
  163. display: block;
  164. content: " ";
  165. }
  166. &::after {
  167. top: 10px;
  168. left: 0px;
  169. height: 152px;
  170. width: 2px;
  171. background: linear-gradient(81.92deg, #3996FF 3.18%, #389FFF 22.8%, #2A68FF 97.59%);
  172. }
  173. &::before {
  174. top: 10px;
  175. left: 0px;
  176. width: 1px;
  177. height: 100%;
  178. background: linear-gradient(0deg, rgba(41, 132, 253, 0) -0.02%, #1C88FE 31.26%, rgba(0, 146, 255, 0.04) 99.99%);
  179. }
  180. }
  181. .flow-item-content {
  182. // width: 202px;
  183. height: 172px;
  184. padding: 20px 0px 0 10px;
  185. border-right: 1px solid;
  186. border-top: 1px solid;
  187. border-radius: 2px 0px 64px 8px;
  188. border-image-source: linear-gradient(222.19deg, #D1DEFE 7.26%, rgba(255, 255, 255, 0) 99.08%);
  189. background: linear-gradient(90.65deg, #E4F0FF 2.2%, #FFFFFF 94.77%);
  190. box-shadow: 0px 4px 30px 0px #9EC0D81A;
  191. text-align: left;
  192. .title {
  193. font-size: 16px;
  194. font-weight: bold;
  195. line-height: 22px;
  196. color: #333;
  197. }
  198. .line {
  199. width: 26px;
  200. height: 4px;
  201. margin: 8px 0;
  202. border-radius: 4px;
  203. background: linear-gradient(81.92deg, #3996FF 3.18%, #389FFF 22.8%, #2A68FF 97.59%);
  204. }
  205. .desc {
  206. font-size: 14px;
  207. color: #565F83;
  208. }
  209. }
  210. &:nth-child(2n) {
  211. // padding-top: 50px;
  212. }
  213. }
  214. }
  215. .en {
  216. .project-list {
  217. .item-title {
  218. font-size: 20px;
  219. line-height: 22px;
  220. }
  221. }
  222. }
  223. @media screen and (min-width: 932px) {
  224. .en{
  225. .flow-item-content{
  226. height: 242px !important;
  227. }
  228. }
  229. }
  230. </style>