NationaIntroductionCommissions.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. <template>
  2. <div style="position: relative; background: #fff">
  3. <div class="autoBox box1" style="position: relative">
  4. <div :class="$i18n.locale == 'zh' ? 'title-text' : 'title-text2'">
  5. <span class="title_span">{{ $t("common.RegionalNational") }}</span>
  6. </div>
  7. <div style="clear: both"></div>
  8. </div>
  9. <!-- <div >
  10. <ul>
  11. <li v-for="(item,index) in committeeInformationReleaseManagementInfos">
  12. <div style="margin: 20px 60px 20px 245px;" v-html="item.releaseInformationUe" v-if="item.moduleDict== '1AA'"></div>
  13. <div style="width: 100%;text-align: center;" v-if="item.moduleDict == '1AB'">
  14. <span class="title_Inteo">{{$t('common.ResponsibilitiesRegional')}}</span>
  15. </div>
  16. <div style="margin: 20px 60px 20px 245px;" v-html="item.releaseInformationUe" v-if="item.moduleDict == '1AB'"></div>
  17. </li>
  18. <li v-for="(item,index) in committeeInformationReleaseManagementInfos">
  19. <div style="margin: 20px 60px 20px 245px;" v-html="item.releaseInformationUe" v-if="item.moduleDict == '1BA'"></div>
  20. <div style="width: 100%;text-align: center;" v-if="item.moduleDict == '1BB'">
  21. <span class="title_Inteo">{{$t('common.ResponsibilitiesNational')}}</span>
  22. </div>
  23. <div style="margin: 20px 60px 20px 245px;" v-html="item.releaseInformationUe" v-if="item.moduleDict== '1BB'"></div>
  24. </li>
  25. </ul>
  26. </div> -->
  27. <div style="position: relative; height: 330px; width: 100%">
  28. <img
  29. src="@/assets/img/nationaIntorduction/nationLeft.png"
  30. alt=""
  31. style="height: 330px; float: left; width: 100%"
  32. />
  33. <div
  34. style="z-index: 99; transform: translateX(-104%); width: 530px"
  35. :style="
  36. $i18n.locale == 'zh'
  37. ? 'position: absolute;left: 50%;top: 80px;'
  38. : 'position: absolute;left: 50%;top: 50px;'
  39. "
  40. >
  41. <div class="IntroductionCommittee">
  42. {{ $t("common.RegionalCommittees") }}
  43. </div>
  44. <div class="IntroductionCommittee2">
  45. {{ $t("common.RegionalCommitteesContent") }}
  46. </div>
  47. </div>
  48. <img
  49. src="@/assets/img/nationaIntorduction/nationRight.png"
  50. alt=""
  51. style="height: 330px; transform: translateY(-330px); width: 100%"
  52. />
  53. </div>
  54. <div class="autoBox box1" style="position: relative">
  55. <div style="width: 100%; text-align: center">
  56. <span class="title_Inteo">{{ $t("common.Responsibilities") }}</span>
  57. </div>
  58. <div style="margin-top: 50px; margin-left: 35px; position: relative">
  59. <img
  60. src="@/assets/img/nationaIntorduction/hexagon1.png"
  61. alt=""
  62. class="IntroductionImg"
  63. />
  64. <img
  65. src="@/assets/img/nationaIntorduction/hexagon2.png"
  66. alt=""
  67. class="IntroductionImg"
  68. />
  69. <img
  70. src="@/assets/img/nationaIntorduction/hexagon3.png"
  71. alt=""
  72. class="IntroductionImg"
  73. />
  74. <img
  75. src="@/assets/img/nationaIntorduction/hexagon4.png"
  76. alt=""
  77. class="IntroductionImg"
  78. />
  79. <img
  80. src="@/assets/img/nationaIntorduction/hexagon5.png"
  81. alt=""
  82. class="IntroductionImg"
  83. />
  84. <div v-for="(item, index) in introduce" class="introduceItem">
  85. <div class="introduce_title">{{ $t(item.title) }}</div>
  86. <div class="introduce_lable">{{ $t(item.lable) }}</div>
  87. </div>
  88. </div>
  89. <div style="clear: both"></div>
  90. </div>
  91. <div style="position: relative; height: 330px; width: 100%">
  92. <img
  93. src="@/assets/img/nationaIntorduction/nationBottom.png"
  94. alt=""
  95. style="margin-left: -18px; height: 330px; float: left; width: 100%"
  96. />
  97. <div
  98. style="transform: translateX(9%); z-index: 99; width: 530px"
  99. :style="
  100. $i18n.locale == 'zh'
  101. ? 'position: absolute;left: 50%;top: 80px;'
  102. : 'position: absolute;left: 50%;top: 50px;'
  103. "
  104. >
  105. <div class="IntroductionCommittee1">
  106. {{ $t("common.NationalIntroduction") }}
  107. </div>
  108. <div
  109. class="IntroductionCommittee2"
  110. :style="$i18n.locale == 'zh' ? 'text-indent:2em' : ''"
  111. style="
  112. overflow: hidden;
  113. text-overflow: ellipsis;
  114. display: -webkit-box;
  115. -webkit-box-orient: vertical;
  116. -webkit-line-clamp: 5;
  117. "
  118. >
  119. {{ $t("common.AsImportantParts") }}
  120. </div>
  121. </div>
  122. </div>
  123. <div class="autoBox box1" style="position: relative">
  124. <div style="width: 100%; text-align: center">
  125. <span class="title_Inteo">{{
  126. $t("common.NationalResponsibilities")
  127. }}</span>
  128. </div>
  129. <div class="duty">
  130. <div class="Workspace" @click="toCommitteeWorkSpace"></div>
  131. <div class="Information" @click="toInformation"></div>
  132. <ul>
  133. <li v-for="(item, index) in duty">
  134. <img
  135. :src="getIconUrl(index)"
  136. alt=""
  137. style="width: 100px; height: 100px"
  138. />
  139. <div :class="$i18n.locale == 'zh' ? 'duty_title' : 'duty_title_en'">
  140. {{ $t(item.title) }}
  141. </div>
  142. <div :class="$i18n.locale == 'zh' ? 'duty_lable' : 'duty_lable_en'">
  143. {{ $t(item.lable) }}
  144. </div>
  145. </li>
  146. </ul>
  147. </div>
  148. <div style="clear: both"></div>
  149. </div>
  150. <!-- <div @click="toCommitteeWorkSpace" class="fixed">-->
  151. <!-- <img-->
  152. <!-- style="z-index: 10"-->
  153. <!-- class="Img"-->
  154. <!-- :src="require('@/assets/img/nationaIntorduction/box1.png')"-->
  155. <!-- alt=""-->
  156. <!-- />-->
  157. <!-- <div class="workspace">-->
  158. <!-- <span>-->
  159. <!-- {{ $t("common.RegionalWorkspace") }}-->
  160. <!-- </span>-->
  161. <!-- </div>-->
  162. <!-- </div>-->
  163. </div>
  164. </template>
  165. <script>
  166. import {getAllReleaseManagementInfos} from "@/api/committee/committeeInformationReleaseManagementInfo";
  167. import {getWorkSpacePermission} from "@/api/committee/nrc";
  168. export default {
  169. name: "NationalregionalCommissions",
  170. data() {
  171. return {
  172. committeeInformationReleaseManagementInfos: [],
  173. introduce: [
  174. {
  175. title: "common.SpreadingConcept",
  176. lable: "common.CarryingOut",
  177. },
  178. {
  179. title: "common.BuildingPlatform",
  180. lable: "common.BuildingARegional",
  181. },
  182. {
  183. title: "common.PromotingTransnational",
  184. lable: "common.CoordinatingAndContacting",
  185. },
  186. {
  187. title: "common.CarryingThematic",
  188. lable: "common.BasedOn",
  189. },
  190. {
  191. title: "common.StrengtheningDailyContact",
  192. lable: "common.StrengtheningDaily",
  193. },
  194. ],
  195. duty: [
  196. {
  197. img: "/assets/img/nationaIntorduction/countryDuty1.png",
  198. title: "common.SpreadingConcept",
  199. lable: "common.Carryingout",
  200. },
  201. {
  202. img: "/assets/img/nationaIntorduction/countryDuty2.png",
  203. title: "common.BuildingPlatform",
  204. lable: "common.Buildingplatformenergy",
  205. },
  206. {
  207. img: "/assets/img/nationaIntorduction/countryDuty3.png",
  208. title: "common.PromotingCooperated",
  209. lable: "common.Cooperatingandsupporting",
  210. },
  211. {
  212. img: "/assets/img/nationaIntorduction/countryDuty4.png",
  213. title: "common.CarryingThematic",
  214. lable: "common.Basedonactual",
  215. },
  216. {
  217. img: "/assets/img/nationaIntorduction/countryDuty5.png",
  218. title: "common.StrengtheningDailyContact",
  219. lable: "common.Strengthendailycontact",
  220. },
  221. ],
  222. };
  223. },
  224. watch: {
  225. "$i18n.locale"() {
  226. this.initData();
  227. },
  228. },
  229. mounted() {
  230. this.initData();
  231. },
  232. methods: {
  233. getIconUrl(index) {
  234. return require("@/assets/img/nationaIntorduction/countryDuty" +
  235. Number(index + 1) +
  236. ".png");
  237. },
  238. initData() {
  239. let page = {
  240. language: this.$i18n.locale.toUpperCase(),
  241. };
  242. getAllReleaseManagementInfos(page).then((res) => {
  243. var data = res.data;
  244. if (data) {
  245. this.committeeInformationReleaseManagementInfos =
  246. res.data.committeeInformationReleaseManagementInfos || [];
  247. }
  248. console.log(res);
  249. });
  250. },
  251. realTimeInfoScreen(i, index) {
  252. this.screenIndex = index;
  253. this.Screens = i.lable;
  254. },
  255. toCommitteeWorkSpace() {
  256. getWorkSpacePermission().then(res => {
  257. if(res.data == 1){
  258. this.$emit("showWorkSpace", "workspace");
  259. }else {
  260. if(this.$i18n.locale == 'en'){
  261. this.$message.error("The User Does Not Have Access Permission");
  262. }else {
  263. this.$message.error("该账户没有访问权限");
  264. }
  265. return
  266. }
  267. })
  268. },
  269. toInformation() {
  270. this.$emit("showWorkSpace", "information");
  271. },
  272. },
  273. };
  274. </script>
  275. <style scoped>
  276. .Workspace{
  277. width: 30px;
  278. height: 30px;
  279. /*background: red;*/
  280. position: absolute;
  281. left: 48%;
  282. bottom: 16%;
  283. }
  284. .Information{
  285. width: 30px;
  286. height: 30px;
  287. /*background: green;*/
  288. position: absolute;
  289. right:15%;
  290. bottom: 23%;
  291. }
  292. body {
  293. background-color: #fff;
  294. }
  295. .box1 {
  296. background: #fff;
  297. /* height: 500px; */
  298. padding: 20px 0;
  299. position: absolute;
  300. }
  301. .crumbs {
  302. margin-left: 20px;
  303. }
  304. .screen1 {
  305. color: #2c5589;
  306. }
  307. .screen2 {
  308. font-size: 14px;
  309. color: #bebebe;
  310. }
  311. .title-text span,
  312. .title-text2 span {
  313. display: block; /*设置为块级元素会独占一行形成上下居中的效果*/
  314. position: relative; /*定位横线(当横线的父元素)*/
  315. text-align: center;
  316. }
  317. .title-text span:before,
  318. .title-text span:after {
  319. content: "";
  320. position: absolute; /*定位背景横线的位置*/
  321. top: 50%;
  322. background: #c3c8d8; /*背景横线颜色*/
  323. width: 35%; /*单侧横线的长度*/
  324. height: 1px;
  325. }
  326. .title-text2 span:before,
  327. .title-text2 span:after {
  328. content: "";
  329. position: absolute; /*定位背景横线的位置*/
  330. top: 50%;
  331. background: #c3c8d8; /*背景横线颜色*/
  332. width: 22%; /*单侧横线的长度*/
  333. height: 1px;
  334. }
  335. .title-text span:before,
  336. .title-text2 span:before {
  337. left: 2%; /*调整背景横线的左右距离*/
  338. }
  339. .plate::after,
  340. .plateCountry::after {
  341. content: "...";
  342. position: absolute;
  343. bottom: 0;
  344. right: 0;
  345. padding-left: 0px;
  346. background: -webkit-linear-gradient(left, transparent, #fff 55%);
  347. background: -o-linear-gradient(right, transparent, #fff 55%);
  348. background: -moz-linear-gradient(right, transparent, #fff 55%);
  349. background: linear-gradient(to right, transparent, #fff 55%);
  350. }
  351. .plateCountry::after {
  352. bottom: 10px;
  353. }
  354. .title-text span:after,
  355. .title-text2 span:after {
  356. right: 2%;
  357. }
  358. .title_span {
  359. font-size: 30px;
  360. font-family: PingFangSC-Semibold, PingFang SC;
  361. font-weight: 600;
  362. color: #000000;
  363. line-height: 56px;
  364. }
  365. .IntroductionCommittee {
  366. font-size: 30px;
  367. font-family: PingFangSC-Semibold, PingFang SC;
  368. font-weight: 600;
  369. color: #ffffff;
  370. line-height: 45px;
  371. border-bottom: 1px solid #507474;
  372. padding-bottom: 10px;
  373. }
  374. .IntroductionCommittee1 {
  375. font-size: 30px;
  376. font-family: PingFangSC-Semibold, PingFang SC;
  377. font-weight: 600;
  378. color: #ffffff;
  379. line-height: 45px;
  380. border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  381. padding-bottom: 10px;
  382. }
  383. .IntroductionCommittee2 {
  384. text-indent: 2em;
  385. margin-top: 20px;
  386. font-size: 16px;
  387. font-family: PingFangSC-Regular, PingFang SC;
  388. font-weight: 400;
  389. color: #ffffff;
  390. line-height: 28px;
  391. }
  392. .title_Inteo {
  393. font-size: 30px;
  394. font-family: PingFangSC-Semibold, PingFang SC;
  395. font-weight: 600;
  396. color: #333333;
  397. line-height: 30px;
  398. }
  399. .IntroductionImg {
  400. width: 384px;
  401. height: 384px;
  402. opacity: 1;
  403. }
  404. .IntroductionImg:hover {
  405. opacity: 1.5;
  406. transform: rotateY(360deg);
  407. }
  408. .IntroductionImg:nth-of-type(4),
  409. .IntroductionImg:nth-of-type(5) {
  410. transform: translateX(184px) translateY(-50px);
  411. /* transform: ; */
  412. }
  413. .introduceItem {
  414. width: 280px;
  415. }
  416. .introduceItem:nth-of-type(1) {
  417. position: absolute;
  418. left: 54px;
  419. top: 97px;
  420. }
  421. .introduceItem:nth-of-type(2) {
  422. position: absolute;
  423. left: 437px;
  424. top: 97px;
  425. }
  426. .introduceItem:nth-of-type(3) {
  427. position: absolute;
  428. left: 820px;
  429. top: 97px;
  430. }
  431. .introduceItem:nth-of-type(4) {
  432. position: absolute;
  433. left: 235px;
  434. top: 430px;
  435. }
  436. .introduceItem:nth-of-type(5) {
  437. position: absolute;
  438. left: 620px;
  439. top: 430px;
  440. }
  441. .introduce_title {
  442. font-size: 20px;
  443. font-family: PingFangSC-Semibold, PingFang SC;
  444. font-weight: 600;
  445. color: #333333;
  446. line-height: 24px;
  447. text-align: center;
  448. }
  449. .introduce_lable {
  450. margin-top: 15px;
  451. font-size: 16px;
  452. font-family: PingFangSC-Regular, PingFang SC;
  453. font-weight: 400;
  454. color: #333333;
  455. line-height: 24px;
  456. text-align: center;
  457. }
  458. .duty ul {
  459. display: flex;
  460. justify-content: space-between;
  461. margin: 30px 10px;
  462. }
  463. .duty li {
  464. float: left;
  465. width: 230px;
  466. text-align: center;
  467. }
  468. .duty_title {
  469. margin-top: 20px;
  470. font-size: 20px;
  471. font-family: PingFangSC-Semibold, PingFang SC;
  472. font-weight: 600;
  473. color: #333333;
  474. line-height: 24px;
  475. font-size: 20px;
  476. height: 30px;
  477. /*overflow: hidden;*/
  478. /*text-overflow: ellipsis;*/
  479. /*display: -webkit-box;*/
  480. /*-webkit-box-orient: vertical;*/
  481. /*-webkit-line-clamp:2;*/
  482. }
  483. .duty_title_en {
  484. margin-top: 20px;
  485. font-family: PingFangSC-Semibold, PingFang SC;
  486. font-weight: 600;
  487. color: #333333;
  488. text-align: left;
  489. line-height: 24px;
  490. font-size: 18px;
  491. height: 70px;
  492. }
  493. .duty_lable {
  494. font-size: 16px;
  495. font-family: PingFangSC-Regular, PingFang SC;
  496. font-weight: 400;
  497. color: #333333;
  498. line-height: 24px;
  499. text-align: left;
  500. margin-top: 15px;
  501. }
  502. .duty_lable_en {
  503. font-size: 14px;
  504. font-family: PingFangSC-Regular, PingFang SC;
  505. font-weight: 400;
  506. color: #333333;
  507. line-height: 24px;
  508. text-align: left;
  509. margin-top: 15px;
  510. }
  511. .fixed {
  512. position: fixed;
  513. /* top: 0; */
  514. /* left: 0; */
  515. bottom: 0;
  516. right: 0;
  517. }
  518. .Img {
  519. margin-right: 70px;
  520. margin-bottom: 80px;
  521. /* display: inline-block; */
  522. transform: scale(0.3);
  523. }
  524. .workspace {
  525. position: fixed;
  526. /* top: 0; */
  527. /* left: 0; */
  528. bottom: 18%;
  529. right: 9%;
  530. }
  531. .workspace span {
  532. font-family: "PingFang SC";
  533. font-style: normal;
  534. font-weight: 500;
  535. font-size: 20px;
  536. line-height: 28px;
  537. color: #417cd9;
  538. }
  539. </style>