Home.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. <template>
  2. <div class="container">
  3. <banner></banner>
  4. <!-- 关于我们 -->
  5. <div class="about w">
  6. <div class="leftbox">
  7. <titles type="1" title="本刊介绍" en="About us"></titles>
  8. <cover class="cover"></cover>
  9. <div class="abouttext">
  10. <!-- <h4>本刊介绍:</h4> -->
  11. <!-- <p>
  12. {{ pageitem && pageitem.title }}
  13. </p> -->
  14. <!-- <p v-html="pageitem && pageitem.slug"></p> -->
  15. <p>《经济纵横》是吉林省社会科学院(社科联)主管、主办的经济学综合性学术期刊。创办于1985年,月刊,每期约20万字。</p>
  16. <p>《经济纵横》被确定为国家社科基金资助期刊(经济学类)。同时,还是中文社会科学引文索引(CSSCI)来源期刊、全国中文核心期刊、中国人文社会科学核心期刊。近年来,多次被列入中国人民大学书报资料中心“复印报刊资料”重要转载来源期刊。2016年,被吉林省新闻出版广电局评为“吉林省一级期刊”“吉林省社科期刊30强”。</p>
  17. <p>创刊以来,《经济纵横》一直以马克思主义为指导,重点打造马克思主义政治经济学品牌栏目,宣传推广马克思主义政治经济学创新发展成果,引领正确舆论导向,刊发了大量著名经济学家的精品力作,形成了长期关注马克思主义政治经济学创新成果的鲜明特色。同时,坚持理论联系实际的学风,瞄准经济学发展的前沿,跟踪改革开放中的热点和难点问题,组织开展学术探讨和交流,刊发了大批极具学术含量、极具影响力的文章,在学术界的认知度屡创新高。《经济纵横》每年都有几十篇文章被《新华文摘》、《中国社会科学文摘》、《人大复印报刊资料》等权威期刊转载或摘发。</p>
  18. <b class="bkjs" @click="pagejump(pageitem)"></b>
  19. </div>
  20. </div>
  21. <bottons class="bottons"></bottons>
  22. </div>
  23. <!-- 本期要目 -->
  24. <div class="news w">
  25. <titles type="9" title="本期要目" en="Directory" @jump="jumpList"></titles>
  26. <div class="contentList">
  27. <div class="imngbox" v-for="(item, index) in directorylist" :key="index" @click="jump(item, '9')">
  28. <img :src="item.thumbnail || imguri" alt="本期要目" class="left">
  29. <div class="right">
  30. <p class="title">{{ item.title }}</p>
  31. <p class="date">{{ item.date }}</p>
  32. <p class="text">{{ item.slug }}</p>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. <!-- 党建园地 -->
  38. <div class="directory w">
  39. <titles type="007" title="党建园地" en="Building" @jump="jumpList"></titles>
  40. <div class="contentList">
  41. <el-card class="imgbox" v-for="(item, index) in park" :key="index">
  42. <div class="box">
  43. <img :src="item.thumbnail || imguri" alt="人物">
  44. </div>
  45. <p class="text" @click="jump(item, '007')">{{ item.title }}</p>
  46. <p class="date">{{ item.date }}</p>
  47. </el-card>
  48. </div>
  49. </div>
  50. <!-- 往期回顾 -->
  51. <div class="review w">
  52. <div class="titlebox">
  53. <div class="xian"></div>
  54. <div class="title">
  55. <img src="../assets/icons/tb0.png" alt="图标">
  56. <h2 class="black">往期</h2>
  57. <h2 class="red">回顾</h2>
  58. </div>
  59. <div class="xian"></div>
  60. <div class="more" @click="jumpList('4')">更多>></div>
  61. </div>
  62. <div class="contentList">
  63. <div class="circular" @click="jump(item, '4')" :class="{ circular2: mous == index }" v-for="(item, index) in reviewlist" :key="index" @mouseover="mouseOver(index)" @mouseleave="mouseLeave(index)">
  64. <div class="txtbox">
  65. <p class="year" :class="{ year2: mous == index }">{{ item.year }}</p>
  66. <p class="date" :class="{ date2: mous == index }">{{ item.term }}</p>
  67. <p class="title" :class="{ title2: mous == index }">{{ item.title }}</p>
  68. <p class="text" :class="{ text2: mous == index }">{{ item.slug }}</p>
  69. <p class="yes" :class="{ yes2: mous == index }"></p>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. <!-- 最新动态 -->
  75. <div class="communication w">
  76. <div class="left">
  77. <titles type="2" title="最新动态" en="news" @jump="jumpList"></titles>
  78. <div class="textlist">
  79. <p class="textbox" @click="jump(item, '2')" v-for="(item, index) in newslist" :key="index">
  80. <span class="text">{{ item.title }}</span>
  81. <span class="date">{{ item.date }}</span>
  82. </p>
  83. </div>
  84. </div>
  85. <div class="right">
  86. <div class="text">
  87. <h2>本刊声明</h2>
  88. <span>statement</span>
  89. <p>1.本刊实行双向匿名审稿制度。</p>
  90. <p>2.本刊不以任何形式收取审稿费、版面费。</p>
  91. <p>3.本刊未与任何社会中介机构合作办刊, 并保留向假冒者追究法律责任的权利。</p>
  92. </div>
  93. <div class="weixin">
  94. <img src="../assets/weixin.png" alt="公众号">
  95. <p>公众号</p>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </template>
  101. <script>
  102. import banner from '../components/banner.vue'
  103. import bottons from '../components/sidebar/buttons.vue'
  104. import cover from '../components/sidebar/cover.vue'
  105. import titles from '../components/sidebar/title.vue'
  106. import moment from 'moment'
  107. import { createNamespacedHelpers } from 'vuex'
  108. const { mapState: pagemapState, mapActions: pagemapActions } = createNamespacedHelpers('page')
  109. const { mapState: contentnmapState, mapActions: contentmapActions } = createNamespacedHelpers('content')
  110. const { mapActions: menumapActions } = createNamespacedHelpers('menu')
  111. export default {
  112. components: {
  113. banner,
  114. cover,
  115. bottons,
  116. titles
  117. },
  118. data () {
  119. return {
  120. imguri: require('../assets/moren.png'),
  121. mous: -1,
  122. communicationlist: [],
  123. directorylist: [],
  124. newslist: [],
  125. reviewlist: [],
  126. park: []
  127. }
  128. },
  129. methods: {
  130. ...pagemapActions(['getdetails']),
  131. ...contentmapActions(['getcontent']),
  132. ...menumapActions(['getmenu']),
  133. // 移入事件
  134. mouseOver (e) {
  135. this.mous = e
  136. },
  137. // 移出事件
  138. mouseLeave (e) {
  139. this.mous = -1
  140. },
  141. jump (e, num) {
  142. localStorage.setItem('itemId', num)
  143. const routeData = this.$router.resolve({
  144. path: `/www/details/${e._id}`
  145. })
  146. window.open(routeData.href)
  147. },
  148. jumpList (e) {
  149. this.$router.push(`/www/list/${e}`)
  150. localStorage.setItem('itemId', e)
  151. },
  152. pagejump (pageitem) {
  153. localStorage.setItem('itemId', '1')
  154. const routeData = this.$router.resolve({
  155. path: `/www/page/${pageitem._id}`
  156. })
  157. window.open(routeData.href)
  158. }
  159. },
  160. async mounted () {
  161. const pagelist = await this.getmenu()
  162. if (pagelist.data.errcode === 0) {
  163. const res = pagelist.data.data.filter(p => p.code === '1')
  164. await this.getdetails({ code: res[0].pages })
  165. const list = ['9', '007', '4', '2']
  166. list.forEach(async e => {
  167. let num
  168. if (e === '9') num = 6
  169. if (e === '007') num = 8
  170. if (e === '4') num = 4
  171. if (e === '2') num = 5
  172. const contentList = await this.getcontent({ code: e, skip: 0, limit: num })
  173. switch (e) {
  174. case '9':
  175. this.directorylist = contentList.data.data
  176. break
  177. case '007':
  178. this.park = contentList.data.data
  179. break
  180. case '4':
  181. this.reviewlist = contentList.data.data
  182. break
  183. case '2':
  184. this.newslist = contentList.data.data
  185. break
  186. default:
  187. break
  188. }
  189. })
  190. }
  191. },
  192. computed: {
  193. ...pagemapState(['pageitem']),
  194. ...contentnmapState({ contentitems: 'items', contenttotal: 'total' })
  195. },
  196. filters: {
  197. dates (e) {
  198. return moment(Number(e)).format('YYYY-MM-DD')
  199. }
  200. }
  201. }
  202. </script>
  203. <style lang="less" scoped>
  204. .w {
  205. width: 80%;
  206. margin: 5vh auto;
  207. }
  208. .bkjs {
  209. cursor: pointer;
  210. }
  211. /* 关于我们 */
  212. .about {
  213. display: flex;
  214. .leftbox {
  215. width: 70%;
  216. display: flex;
  217. color: #696969;
  218. font-size: 1.2em;
  219. flex-wrap: wrap;
  220. .cover {
  221. width: 25%;
  222. padding-top: 20px;
  223. }
  224. .abouttext {
  225. width: 65%;
  226. margin: 0 5%;
  227. p {
  228. font-size: 0.8em;
  229. text-indent: 2em;
  230. line-height: 1.5em;
  231. }
  232. }
  233. }
  234. .bottons {
  235. width: 30%;
  236. }
  237. }
  238. /* 本期要目 */
  239. .directory {
  240. .contentList {
  241. width: 100%;
  242. display: flex;
  243. flex-wrap: wrap;
  244. .imgbox {
  245. width: 23%;
  246. margin: 1%;
  247. height: 320px;
  248. /deep/ .el-card__body {
  249. height: 100%;
  250. .box {
  251. height: 70%;
  252. width: 100%;
  253. overflow: hidden;
  254. display: flex;
  255. align-items: center;
  256. img {
  257. width: 100%;
  258. display: block;
  259. }
  260. }
  261. p {
  262. color: #696969;
  263. }
  264. .text {
  265. height: 2.5em;
  266. cursor: pointer;
  267. overflow: hidden;
  268. text-overflow: ellipsis;
  269. display: -webkit-box;
  270. -webkit-line-clamp: 2;
  271. -webkit-box-orient: vertical;
  272. word-break: break-all;
  273. }
  274. }
  275. }
  276. }
  277. }
  278. /* 最新动态 */
  279. .news {
  280. .contentList {
  281. width: 100%;
  282. display: flex;
  283. flex-wrap: wrap;
  284. .imngbox {
  285. width: 46%;
  286. height: 17vh;
  287. display: flex;
  288. margin: 2% 2%;
  289. .left {
  290. width: 25%;
  291. margin-right: 5%;
  292. }
  293. .right {
  294. width: 70%;
  295. .title {
  296. font-weight: 700;
  297. color: #000;
  298. cursor: pointer;
  299. word-break: keep-all;
  300. white-space: nowrap;
  301. overflow: hidden;
  302. text-overflow: ellipsis;
  303. }
  304. p {
  305. color: #696969;
  306. overflow: hidden;
  307. text-overflow: ellipsis;
  308. display: -webkit-box;
  309. -webkit-line-clamp: 2;
  310. -webkit-box-orient: vertical;
  311. word-break: break-all;
  312. }
  313. }
  314. }
  315. }
  316. }
  317. /* 往期回顾 */
  318. .review {
  319. margin-top: 10vh;
  320. .titlebox {
  321. width: 100%;
  322. display: flex;
  323. position: relative;
  324. .title {
  325. width: 20%;
  326. display: flex;
  327. img {
  328. height: 30px;
  329. margin-top: 20px;
  330. }
  331. h2 {
  332. margin-top: -10px;
  333. font-size: 2.5em;
  334. letter-spacing: 5px;
  335. }
  336. .black {
  337. margin-left: 20px;
  338. }
  339. .red {
  340. color: #eb4f38;
  341. }
  342. }
  343. .xian {
  344. width: 40%;
  345. height: 3px;
  346. background: #a40000;
  347. margin: 0 10px;
  348. margin-top: 2%;
  349. }
  350. .more {
  351. position: absolute;
  352. right: 2%;
  353. color: #999;
  354. }
  355. }
  356. .contentList {
  357. width: 100%;
  358. height: 40vh;
  359. display: flex;
  360. .circular {
  361. width: 20%;
  362. height: 16vw;
  363. margin: 5% 2.5%;
  364. border-radius: 38%;
  365. background: #f0f0f0;
  366. transform:rotate(45deg);
  367. -ms-transform:rotate(45deg);
  368. -moz-transform:rotate(45deg);
  369. -webkit-transform:rotate(45deg);
  370. -o-transform:rotate(45deg);
  371. position: relative;
  372. .txtbox{
  373. position: absolute;
  374. left: 50%;
  375. margin-left: -50%;
  376. top: 8%;
  377. transform:rotate(-45deg);
  378. -ms-transform:rotate(-45deg);
  379. -moz-transform:rotate(-45deg);
  380. -webkit-transform:rotate(-45deg);
  381. -o-transform:rotate(-45deg);
  382. width: 90%;
  383. p {
  384. line-height: 1.5em;
  385. width: 100%;
  386. margin: 0 auto;
  387. text-align: center;
  388. }
  389. .year {
  390. color: #eb4f38;
  391. font-size: 1.5em;
  392. }
  393. .title {
  394. margin-top: 5px;
  395. font-size: 1em;
  396. color: #222;
  397. overflow: hidden;
  398. text-overflow: ellipsis;
  399. display: -webkit-box;
  400. -webkit-line-clamp: 1;
  401. -webkit-box-orient: vertical;
  402. word-break: break-all;
  403. }
  404. .date {
  405. font-size: 2.5em;
  406. color: #eb4f38;
  407. }
  408. .text {
  409. margin-top: 10px;
  410. font-size: 0.8em;
  411. color: #666666;
  412. overflow: hidden;
  413. text-overflow: ellipsis;
  414. display: -webkit-box;
  415. -webkit-line-clamp: 2;
  416. -webkit-box-orient: vertical;
  417. word-break: break-all;
  418. }
  419. .yes {
  420. width: 30px;
  421. height: 30px;
  422. margin: 8% auto;
  423. color: #eb4f38;
  424. border: 1px solid;
  425. border-color: #999;
  426. border-radius: 50%;
  427. background: #f0f0f0;
  428. line-height: 30px;
  429. }
  430. .year2 {
  431. color: #fff;
  432. }
  433. .title2 {
  434. color: #fff;
  435. }
  436. .date2 {
  437. color: #fff;
  438. }
  439. .text2 {
  440. color: #fff;
  441. }
  442. .yes2 {
  443. background: #fff;
  444. color: #039ae4;
  445. }
  446. }
  447. }
  448. .circular2 {
  449. background: #c9161d;
  450. }
  451. }
  452. }
  453. // 联系我们
  454. .communication {
  455. display: flex;
  456. margin-top: 5%;
  457. .left {
  458. width: 50%;
  459. margin-left: 5%;
  460. .textlist {
  461. width: 100%;
  462. .textbox {
  463. width: 90%;
  464. margin: 5% auto;
  465. color: #999999;
  466. display: flex;
  467. .text {
  468. width: 70%;
  469. display: block;
  470. cursor: pointer;
  471. overflow: hidden;
  472. text-overflow: ellipsis;
  473. display: -webkit-box;
  474. -webkit-line-clamp: 1;
  475. -webkit-box-orient: vertical;
  476. word-break: break-all;
  477. }
  478. .date {
  479. display: block;
  480. width: 30%;
  481. text-align: right;
  482. }
  483. }
  484. }
  485. }
  486. .right {
  487. width: 45%;
  488. margin-left: 5%;
  489. background: #a80002;
  490. display: flex;
  491. .text {
  492. width: 70%;
  493. color: #fff;
  494. font-size: 0.8em;
  495. margin: 10% 5%;
  496. }
  497. .weixin {
  498. width: 15%;
  499. color: #fff;
  500. margin-top: 20%;
  501. img{
  502. width: 100%;
  503. }
  504. p {
  505. width: 100%;
  506. display: block;
  507. text-align: center
  508. }
  509. }
  510. }
  511. }
  512. @import '../assets/compatible.less';
  513. </style>