Home.vue 14 KB

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