Magazines.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. <template>
  2. <div class="PuMagazines">
  3. <!-- 1 -->
  4. <div class="box1" id="PMbox1">
  5. <h3 class="biaoji">Introduction of Magazine</h3>
  6. <p>
  7. The Museum is a national academic journal for museum studies supervised
  8. by the Chinese Academy of Sciences, hosted by the Science Press and
  9. sponsored by the Capital Museum (Beijing), Tianjin Museum and the Hebei
  10. Museum. The bimonthly journal was launched in February, 2017.
  11. </p>
  12. <p>
  13. The Museum, taking the study of culture and museums, and the spread of
  14. culture as one of its responsibility in line with the national policy of
  15. “Integrated Development of Beijing, Tianjin and Hebei Province”, aims to
  16. provide a platform for exchange and learning among national culture and
  17. museum circles, relevant professional college teachers and students, and
  18. the masses of cultural enthusiasts.
  19. </p>
  20. <div v-if="box1Show">
  21. <p>
  22. The Museum features three sections - thematic exploration, theoretical
  23. research, and museum practice. It mainly covers museum-related
  24. academic research results on the gathering and preservation of
  25. collections, restoration and preservation of collections, collection
  26. research, exhibition and evaluation, museum education, publication and
  27. cultural creation, museum management, openness and security, museum
  28. architecture, museum digitalization and informatization, monographs
  29. and essays, historical and archeological research related to museums,
  30. protection and research of ancient buildings and ancient ruins and
  31. other related research results.
  32. </p>
  33. <p>
  34. The Museum Editorial Board<br />
  35. Director: Lin Peng<br />
  36. Deputy Directors: Chen Zhuo, Cheng Caihong, Bai Jie, Shi Qiang<br />
  37. Editor: Guo Xiaoling<br />
  38. Executive Editor: Yan Xiangdong<br />
  39. Associate Editors: Huang Xueyin, Wang Jianping, Xu Lumei
  40. </p>
  41. <p>
  42. The Editorial Department of The Museum<br />
  43. Directors: Zhang Yana, Zhang Liang<br />
  44. Editors: Fan Xin, Zhou Zhou, Zhang Ruiyang, Yan Guangyu, Zheng Zuoyi,
  45. Gong Xiangjun, Li Jiguang, Li Lanfang, Zang Tianjie, Zhao Xiaojiao<br />
  46. Art Director: Li Meng
  47. </p>
  48. </div>
  49. <div class="more" @click="box1Show = !box1Show">
  50. {{ box1Show ? "Hide" : "See More" }}
  51. </div>
  52. </div>
  53. <!-- 2 -->
  54. <div class="box1" id="PMbox2">
  55. <h3 class="biaoji">Notice to Contributors</h3>
  56. <p>
  57. The Museum is a national academic journal on museums published at home
  58. and abroad. It features three sections - thematic exploration,
  59. theoretical research, and museum practice - mainly devoted to
  60. museum-related academic research results: gathering and preservation of
  61. collections, restoration and preservation of collections, collections
  62. research, exhibition and evaluation, museum education, propaganda and
  63. literary creation, museum management, openness and security, museum
  64. architecture, museum digitalization and informatization, monographs and
  65. essays, historical and archeological research related to museums,
  66. protection and research of ancient buildings and ancient ruins and other
  67. related research results. Domestic and foreign authors are welcome to
  68. submit articles. In doing so, the following requirements should be
  69. followed.
  70. </p>
  71. <div v-if="box2Show">
  72. <p>
  73. 1. You should refine and condense your article to 5000-8000 words, and
  74. attach an abstract of 100-300 words and 3-5 key words in both Chinese
  75. and English at the head of the article.
  76. </p>
  77. <p>
  78. 2. The written form of your article’s words, punctuation, years and
  79. numbers should be in line with the common criteria established by the
  80. General Administration of Press and Publication of the PRC.
  81. </p>
  82. <p>
  83. 3. Illustrations and tables should be concise and the text in them
  84. should be modifiable. Please try to provide pictures with clarity of
  85. over 300 dpi. You should specify the name and source of your
  86. illustrations and tables.
  87. </p>
  88. <p>
  89. 4. Articles must be original and not previously published in any other
  90. medium. Quotations must be clearly marked or licensed. Authors will be
  91. held fully responsible for the consequences of any violations of the
  92. copyright of others.
  93. </p>
  94. <p>
  95. 5. For a translated draft, you need to get the copyright beforehand
  96. and attach relevant explanation. In case of copyright controversies,
  97. the translators will be held responsible for the consequences.
  98. </p>
  99. <p>
  100. 6. Please specify the author's name, organization, mailing address,
  101. telephone number and e-mail address.
  102. </p>
  103. <p>
  104. 7. Please do not send any article that has been submitted to other
  105. publishers, and please keep the original. If you do not get a
  106. notification of acceptance within six months, please contact us. Once
  107. the article is published, we will pay remuneration in accordance with
  108. our pay standard. Besides, we have the right to use it in digital ways
  109. such as copy, compilation, distribution and dissemination of the full
  110. article through an information network. The fee for the changing
  111. copyright will be paid with the remuneration.
  112. </p>
  113. <p>
  114. All colleagues of cultural and museum circles are welcome to submit
  115. articles.<br />
  116. The contact information is as follow,<br />
  117. Address: No. 16, Donghuangchenggen North Street, Dongcheng District,
  118. Beijing, 100717<br />
  119. Editorial Department: +86 (10) 64033878、64034135、64030141(fax)<br />
  120. Email: bowuyuan@mail.sciencep.com<br />
  121. Review Platform: http://ees.scichina.com/user/login.action
  122. </p>
  123. </div>
  124. <div class="more" @click="box2Show = !box2Show">
  125. {{ box2Show ? "Hide" : "See More" }}
  126. </div>
  127. </div>
  128. <!-- 3 -->
  129. <div class="box2" id="PMbox3">
  130. <h3 class="biaoji">
  131. Contact<span>(Contact information of the journal)</span>
  132. </h3>
  133. <p class="cur">Tel</p>
  134. <p>+86 (10) 64033878、64034135、63370450</p>
  135. <p class="cur">Fax</p>
  136. <p>+86 (10) 64030141</p>
  137. <p class="cur">Email</p>
  138. <p>bowuyuan@mail.sciencep.com</p>
  139. <p class="cur">Review Platform</p>
  140. <p>http://ees.scichina.com/user/login.action</p>
  141. <p class="cur">Address</p>
  142. <p>No. 16, Donghuangchenggen North Street, Beijing.</p>
  143. <p class="cur">Postcode</p>
  144. <p>100717</p>
  145. </div>
  146. <!-- 4 -->
  147. <div class="box3">
  148. <h2 class="title">Our Magazines</h2>
  149. <div class="xian">
  150. <div
  151. class="xian_son"
  152. @click="cutAge(item)"
  153. :class="{ active: item === dateInd }"
  154. v-for="item in dateData"
  155. :key="item"
  156. >
  157. <div></div>
  158. <p>{{ item }}</p>
  159. </div>
  160. </div>
  161. <!-- 书籍卡片 -->
  162. <div class="card">
  163. <div
  164. class="row"
  165. v-for="(item, index) in imgList"
  166. :key="item.id"
  167. :style="`left:${index * 15}px;height:${100 - index * 5}%;opacity:${
  168. 1 - index * 0.2 <= 0 ? 0.1 : 1 - index * 0.2
  169. }; z-index: ${imgList.length - index};`"
  170. >
  171. <v-touch
  172. @click.native="toInfo(info.id)"
  173. v-if="index === 0"
  174. tag="img"
  175. @swipeleft="moveSwiper(1)"
  176. @swiperight="moveSwiper(0)"
  177. :src="info.imgUrl"
  178. alt=""
  179. />
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. </template>
  185. <script>
  186. import { Magazines } from "./data";
  187. export default {
  188. name: "PuMagazines",
  189. components: {},
  190. data() {
  191. //这里存放数据
  192. return {
  193. box1Show: false,
  194. box2Show: false,
  195. dateInd: 2025,
  196. dateData: [2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017],
  197. imgList: [],
  198. info: {},
  199. infoInd: 0,
  200. };
  201. },
  202. //监听属性 类似于data概念
  203. computed: {},
  204. //监控data中的数据变化
  205. watch: {},
  206. //方法集合
  207. methods: {
  208. // 切换年份
  209. cutAge(age) {
  210. this.dateInd = age;
  211. this.imgList = Magazines[age];
  212. this.infoInd = 0;
  213. this.info = this.imgList[this.infoInd];
  214. this.$route.meta.pageAge = age;
  215. },
  216. toInfo(id) {
  217. this.$router.push({
  218. name: "PublicationsInfo",
  219. query: { id },
  220. });
  221. },
  222. // 封装一个滑动的方法
  223. moveSwiper(val) {
  224. let dom = document.querySelector(".card");
  225. dom.style.opacity = 0;
  226. setTimeout(() => {
  227. if (val === 0) {
  228. // 右滑减小
  229. if (this.infoInd === 0) this.infoInd = this.imgList.length - 1;
  230. else this.infoInd--;
  231. } else {
  232. //左滑增加
  233. if (this.infoInd < this.imgList.length - 1) this.infoInd++;
  234. else this.infoInd = 0;
  235. }
  236. this.info = this.imgList[this.infoInd];
  237. dom.style.opacity = 1;
  238. this.$route.meta.pageSize = this.infoInd;
  239. }, 300);
  240. },
  241. },
  242. //生命周期 - 创建完成(可以访问当前this实例)
  243. created() {
  244. if (this.$route.meta.pageAge) this.dateInd = this.$route.meta.pageAge;
  245. if (this.$route.meta.pageSize) {
  246. this.infoInd = this.$route.meta.pageSize;
  247. this.$nextTick(() => {
  248. setTimeout(() => {
  249. // 获取滚动的总元素
  250. // 获取元素距离顶部的距离
  251. let dom = document.querySelector(".box3");
  252. // 获取主滚动元素
  253. let domScroll = document.querySelector(".Layout");
  254. if (dom && domScroll) domScroll.scrollTo({ top: dom.offsetTop - 70 });
  255. }, 100);
  256. });
  257. }
  258. this.imgList = Magazines[this.dateInd];
  259. this.info = this.imgList[this.infoInd];
  260. },
  261. //生命周期 - 挂载完成(可以访问DOM元素)
  262. mounted() {},
  263. beforeCreate() {}, //生命周期 - 创建之前
  264. beforeMount() {}, //生命周期 - 挂载之前
  265. beforeUpdate() {}, //生命周期 - 更新之前
  266. updated() {}, //生命周期 - 更新之后
  267. beforeDestroy() {}, //生命周期 - 销毁之前
  268. destroyed() {}, //生命周期 - 销毁完成
  269. activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  270. };
  271. </script>
  272. <style lang='less' scoped>
  273. .PuMagazines {
  274. padding: 0 20px 40px;
  275. background: url("../../assets/img/bgPu.png");
  276. background-size: 100% 100%;
  277. .more {
  278. margin: 40px auto;
  279. width: 117px;
  280. height: 37px;
  281. background: url("../../assets/img/Layout/see.png");
  282. background-size: 100% 100%;
  283. color: #c1aa7b;
  284. line-height: 40px;
  285. text-align: center;
  286. }
  287. .biaoji {
  288. font-size: 22px;
  289. padding-left: 30px;
  290. background: url("../../assets/img/Layout/chosen.png") left 4px no-repeat;
  291. background-size: 22px 18px;
  292. margin-bottom: 20px;
  293. margin-top: 20px;
  294. & > span {
  295. display: block;
  296. font-size: 14px;
  297. font-weight: 400;
  298. color: #6a6a6a;
  299. }
  300. }
  301. .box1 {
  302. padding-top: 20px;
  303. border-bottom: 1px solid #ccc;
  304. p {
  305. font-size: 16px;
  306. line-height: 20px;
  307. margin-bottom: 15px;
  308. color: #6a6a6a;
  309. }
  310. }
  311. .box2 {
  312. padding-top: 20px;
  313. border-bottom: 1px solid #ccc;
  314. .cur {
  315. font-size: 20px;
  316. color: #bc1c24;
  317. line-height: 20px;
  318. margin-bottom: 0;
  319. }
  320. & > p {
  321. color: #6a6a6a;
  322. font-size: 16px;
  323. margin-bottom: 15px;
  324. }
  325. }
  326. .box3 {
  327. padding-top: 40px;
  328. .title {
  329. height: 30px;
  330. line-height: 30px;
  331. background: url("../../assets/img/Layout/title.png") left center no-repeat;
  332. background-size: 41px 29px;
  333. color: #c1aa7b;
  334. font-size: 22px;
  335. padding-left: 50px;
  336. margin-bottom: 20px;
  337. font-weight: 700;
  338. }
  339. .xian {
  340. margin-top: 40px;
  341. position: relative;
  342. width: 100%;
  343. margin-bottom: 30px;
  344. display: flex;
  345. flex-wrap: wrap;
  346. .xian_son {
  347. position: relative;
  348. top: -8px;
  349. padding: 0 2px 0 14px;
  350. margin-bottom: 15px;
  351. &::before {
  352. content: "";
  353. position: absolute;
  354. top: 7px;
  355. left: 0;
  356. width: 100%;
  357. height: 2px;
  358. background-color: #c1aa7b;
  359. }
  360. & > div {
  361. position: relative;
  362. z-index: 10;
  363. width: 17px;
  364. height: 17px;
  365. border-radius: 50%;
  366. border: 2px solid #c1aa7b;
  367. background-color: #fff;
  368. }
  369. & > p {
  370. color: #1f1f1f;
  371. font-size: 16px;
  372. font-weight: 700;
  373. margin-top: 5px;
  374. margin-left: -8px;
  375. }
  376. }
  377. .active {
  378. & > div {
  379. background-color: #c1aa7b;
  380. }
  381. & > p {
  382. color: #bc1c24;
  383. }
  384. }
  385. }
  386. .card {
  387. margin-top: 30px;
  388. margin-bottom: 20px;
  389. width: 100%;
  390. height: 400px;
  391. position: relative;
  392. transition: all 0.3s;
  393. .row {
  394. border-radius: 8px;
  395. position: absolute;
  396. left: 0;
  397. top: 50%;
  398. transform: translateY(-50%);
  399. width: 80%;
  400. height: 400px;
  401. background: url("../../assets/img/PuBc.jpg");
  402. background-size: 100% 100%;
  403. & > img {
  404. touch-action: pan-y !important;
  405. border-radius: 8px;
  406. width: 100%;
  407. height: 100%;
  408. }
  409. }
  410. }
  411. }
  412. }
  413. </style>