index.vue 26 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178
  1. <template>
  2. <div class="main">
  3. <!-- 两侧浮标 -->
  4. <!-- <div class="img-fixed1">
  5. <img src="../assets/img/fixed1.jpg" alt="">
  6. </div> -->
  7. <!-- <div class="img-fixed2">
  8. <img src="../assets/img/fixed2.jpg" alt="">
  9. </div> -->
  10. <indexTop ></indexTop>
  11. <!-- 导航 -->
  12. <indexNavigation class="indexNav"></indexNavigation>
  13. <!-- 内容 -->
  14. <div class="content">
  15. <div class="content-item1">
  16. <div class="swiper-box">
  17. <!-- 轮播图 -->
  18. <div class="swiper">
  19. <div id="app">
  20. <div class="SwiperBox" ref="SwiperBox" @mouseenter="MouseFun('移入')"
  21. @mouseleave="MouseFun('移出')">
  22. <!-- 图片 -->
  23. <div class="imgBox" :style="{left:`-${leftVal}px`,transition:`${ition}s`}">
  24. <!-- <img alt="" :src="item.url" v-for="(item,index) in swiperList" :key="item.id"
  25. @click="toDetail(item.id)"> -->
  26. <!-- 复制第一张放到最后,以实现无缝无线循环滚动效果 -->
  27. <!-- <img :src="firstUrl" alt=""> -->
  28. <div v-for="(item,index) in swiperList" :key="item.id" @click="toDetail(item.id)">
  29. <img :src="item.url" alt="">
  30. <div class="title" >
  31. <div class="text">{{item.title}}</div>
  32. <div class="date">{{item.date}}</div>
  33. </div>
  34. </div>
  35. <div>
  36. <img :src="firstUrl" alt="">
  37. <div class="title" >
  38. <div class="text">{{firstTitle}}</div>
  39. <div class="date">{{firstDate}}</div>
  40. </div>
  41. </div>
  42. </div>
  43. <!-- 左箭头按钮 -->
  44. <div class="leftBtn" @click="throttle(PrevFun)">&larr;</div>
  45. <!-- 右箭头按钮 -->
  46. <div class="rightBtn" @click="throttle(NextFun)">&rarr;</div>
  47. <!-- 下方指示点容器 -->
  48. <div class="instBox">
  49. <div @click="instFun(index)" v-for="(item,index) in swiperList.length" :key="index"
  50. :class="['inst',index==imgShow?'instActv':'']">
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. <!-- <div class="block" >
  56. <el-carousel @change="handChange" :interval="3000" ref="carousel">
  57. <el-carousel-item v-for="item in swiperList" :key="item.id">
  58. <img alt="" :src="item.url" @click="toDetail(item.id)">
  59. <div class="title" @click="toDetail(item.id)">
  60. <div class="text">{{item.title}}</div>
  61. <div class="date">{{item.date}}</div>
  62. </div>
  63. </el-carousel-item>
  64. </el-carousel>
  65. </div> -->
  66. </div>
  67. </div>
  68. <!-- 新闻 -->
  69. <div class="news">
  70. <div class="title">
  71. <div class="newsphoto">
  72. <img src="../assets/img/circle.png" alt="" />
  73. <div>图片新闻</div>
  74. </div>
  75. <div class="more" @click="toList('tpxw')">
  76. <div>查看更多</div>
  77. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  78. </div>
  79. </div>
  80. <ul class="newsGroup">
  81. <li v-for="li in picNewsList" :key="li.id" class="item" @click="toDetail(li.id)">
  82. <div class="headline">· {{li.title}}</div>
  83. <div class="date">{{li.createTime}}</div>
  84. </li>
  85. </ul>
  86. </div>
  87. </div>
  88. <div class="content-item2">
  89. <div class="list1">
  90. <div class="title">
  91. <div class="newsphoto">
  92. <img src="../assets/img/circle.png" alt="" />
  93. <div>通知公告</div>
  94. </div>
  95. <div class="more" @click="toList('tzgg')">
  96. <div>查看更多</div>
  97. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  98. </div>
  99. </div>
  100. <ul class="headline-group">
  101. <li v-for="li in tzggList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  102. </li>
  103. </ul>
  104. </div>
  105. <div class="list2">
  106. <div class="title">
  107. <div class="newsphoto">
  108. <img src="../assets/img/circle.png" alt="" />
  109. <div>政务动态</div>
  110. </div>
  111. <div class="more" @click="toList('zwdt')">
  112. <div>查看更多</div>
  113. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  114. </div>
  115. </div>
  116. <ul class="headline-group">
  117. <li v-for="li in zwdtList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  118. </li>
  119. </ul>
  120. </div>
  121. <div class="serve">
  122. <div class="title">
  123. <img src="../assets/img/circle.png" alt="" />
  124. <div>为您服务</div>
  125. </div>
  126. <ul class="serveGroup">
  127. <li v-for="li in wnfwList" :key="li.id" class="item" @click="toDetail(li.id)">
  128. <img src="../assets/img/serve.png" alt="" />
  129. <div class="text">{{li.title}}</div>
  130. </li>
  131. </ul>
  132. </div>
  133. </div>
  134. <div class="banner">
  135. <!-- <img src="../assets//img/banner.png" alt="" /> -->
  136. </div>
  137. <div class="content-item3">
  138. <div class="box">
  139. <div class="list">
  140. <div class="title">
  141. <div class="newsphoto">
  142. <img src="../assets/img/circle.png" alt="" />
  143. <div>党建动态</div>
  144. </div>
  145. <div class="more" @click="toList('djdt')">
  146. <div>查看更多</div>
  147. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  148. </div>
  149. </div>
  150. <ul class="headline-group">
  151. <li v-for="li in djdtList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  152. </li>
  153. </ul>
  154. </div>
  155. <div class="list">
  156. <div class="title">
  157. <div class="newsphoto">
  158. <img src="../assets/img/circle.png" alt="" />
  159. <div>法治宣传</div>
  160. </div>
  161. <div class="more" @click="toList('fzxc')">
  162. <div>查看更多</div>
  163. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  164. </div>
  165. </div>
  166. <ul class="headline-group">
  167. <li v-for="li in fzxcList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  168. </li>
  169. </ul>
  170. </div>
  171. <div class="list">
  172. <div class="title">
  173. <div class="newsphoto">
  174. <img src="../assets/img/circle.png" alt="" />
  175. <div>纪检监察</div>
  176. </div>
  177. <div class="more" @click="toList('jjjc')">
  178. <div>查看更多</div>
  179. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  180. </div>
  181. </div>
  182. <ul class="headline-group">
  183. <li v-for="li in jjjcList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  184. </li>
  185. </ul>
  186. </div>
  187. <div class="list">
  188. <div class="title">
  189. <div class="newsphoto">
  190. <img src="../assets/img/circle.png" alt="" />
  191. <div>文明创建</div>
  192. </div>
  193. <div class="more" @click="toList('wmcj')">
  194. <div>查看更多</div>
  195. <img src="../assets/img/mb-angle-circle-right@1x.png" alt="" />
  196. </div>
  197. </div>
  198. <ul class="headline-group">
  199. <li v-for="li in wmcjList" :key="li.id" class="item" @click="toDetail(li.id)">· {{li.title}}
  200. </li>
  201. </ul>
  202. </div>
  203. </div>
  204. <div class="serve">
  205. <div class="title">
  206. <img src="../assets/img/circle.png" alt="" />
  207. <div>机构设置</div>
  208. </div>
  209. <ul class="serveGroup">
  210. <li v-for="li in jgszList" :key="li.id" class="item" @click="toDetail(li.id)">
  211. <img src="../assets/img/organization.png" alt="" />
  212. <div class="text">{{li.title}}</div>
  213. </li>
  214. </ul>
  215. </div>
  216. </div>
  217. </div>
  218. <bottom></bottom>
  219. </div>
  220. </template>
  221. <script>
  222. import Bottom from '../components/Bottom.vue';
  223. import IndexNavigation from "../components/IndexNavigation.vue";
  224. import indexTop from "../components/indexTop.vue"
  225. import newsApi from "@/api/news";
  226. export default {
  227. components: {
  228. IndexNavigation,
  229. indexTop,
  230. Bottom,
  231. },
  232. data() {
  233. return {
  234. firstUrl: "",
  235. firstTitle:"",
  236. firstDate:"",
  237. leftVal: 0, // 轮播图盒子的偏移值
  238. flag: true, // 用来节流防止重复点击
  239. start: null, // 自动执行下一张定的时器
  240. imgWidth: 450, // 在这里填写你需要的图片宽度
  241. ition: 0.8, // 设置轮播图过度时间
  242. imgShow: 0, // 表示当前显示的图片索引
  243. carouseId: 0,
  244. swiperList: [],
  245. picNewsList: [],
  246. tzggList: [],
  247. zwdtList: [],
  248. djdtList: [],
  249. fzxcList: [],
  250. jjjcList: [],
  251. wmcjList: [],
  252. wnfwList: [],
  253. jgszList: [],
  254. };
  255. },
  256. methods: {
  257. handChange(index) {
  258. this.$refs.carousel.setActiveItem(index);
  259. this.carouseId = index
  260. },
  261. //焦点图
  262. listSwiper() {
  263. var self = this;
  264. var formData = new FormData();
  265. formData.append("pageSize", 4);
  266. newsApi.swiperList(formData).then(function(response) {
  267. var jsonData = response.data.data;
  268. self.swiperList = jsonData;
  269. self.firstUrl = self.swiperList[0].url;
  270. self.firstTitle=self.swiperList[0].title;
  271. self.firstDate=self.swiperList[0].firstDate;
  272. })
  273. .catch((error) => {
  274. self.$message.error("焦点图获取数据发生错误!");
  275. });
  276. },
  277. //图片新闻
  278. listTPXW() {
  279. var self = this;
  280. var formData = new FormData();
  281. formData.append("typeId", "ee0ea72a-75bf-4970-ad34-11e3132bc6a3");
  282. formData.append("pageSize", 8);
  283. newsApi.tabList(formData).then(function(response) {
  284. var jsonData = response.data.data;
  285. self.picNewsList = jsonData;
  286. })
  287. .catch((error) => {
  288. self.$message.error("图片新闻获取数据发生错误!");
  289. });
  290. },
  291. //通知公告
  292. listTZGG() {
  293. var self = this;
  294. var formData = new FormData();
  295. formData.append("typeId", "de3958c2-0010-4009-b7e1-15bfdcc60cef");
  296. formData.append("pageSize", 6);
  297. newsApi.tabList(formData).then(function(response) {
  298. var jsonData = response.data.data;
  299. self.tzggList = jsonData;
  300. })
  301. .catch((error) => {
  302. self.$message.error("通知公告获取数据发生错误!");
  303. });
  304. },
  305. //政务动态
  306. listZWDT() {
  307. var self = this;
  308. var formData = new FormData();
  309. formData.append("typeId", "939fbcca-8c31-478f-a7dc-6c649648164e");
  310. formData.append("pageSize", 6);
  311. newsApi.tabList(formData).then(function(response) {
  312. var jsonData = response.data.data;
  313. self.zwdtList = jsonData;
  314. })
  315. .catch((error) => {
  316. self.$message.error("政务动态获取数据发生错误!");
  317. });
  318. },
  319. //党建动态
  320. listDJDT() {
  321. var self = this;
  322. var formData = new FormData();
  323. formData.append("typeId", "f57b8b67-db9a-4110-bc9b-7ec382a07954");
  324. formData.append("pageSize", 5);
  325. newsApi.tabList(formData).then(function(response) {
  326. var jsonData = response.data.data;
  327. self.djdtList = jsonData;
  328. })
  329. .catch((error) => {
  330. self.$message.error("党建动态获取数据发生错误!");
  331. });
  332. },
  333. //法治宣传
  334. listFZXC() {
  335. var self = this;
  336. var formData = new FormData();
  337. formData.append("typeId", "39599bb3-78e9-4e84-99b5-2d6a5c1c40e3");
  338. formData.append("pageSize", 5);
  339. newsApi.tabList(formData).then(function(response) {
  340. var jsonData = response.data.data;
  341. self.fzxcList = jsonData;
  342. })
  343. .catch((error) => {
  344. self.$message.error("法治宣传获取数据发生错误!");
  345. });
  346. },
  347. //纪检监察
  348. listJJJC() {
  349. var self = this;
  350. var formData = new FormData();
  351. formData.append("typeId", "8e7f6d22-2b5b-4efc-b354-dbcddb46a8b3");
  352. formData.append("pageSize", 5);
  353. newsApi.tabList(formData).then(function(response) {
  354. var jsonData = response.data.data;
  355. self.jjjcList = jsonData;
  356. })
  357. .catch((error) => {
  358. self.$message.error("纪检监察获取数据发生错误!");
  359. });
  360. },
  361. //文明创建
  362. listWMCJ() {
  363. var self = this;
  364. var formData = new FormData();
  365. formData.append("typeId", "a4870553-44e0-4172-91db-263cedf5938f");
  366. formData.append("pageSize", 5);
  367. newsApi.tabList(formData).then(function(response) {
  368. var jsonData = response.data.data;
  369. self.wmcjList = jsonData;
  370. })
  371. .catch((error) => {
  372. self.$message.error("文明创建获取数据发生错误!");
  373. });
  374. },
  375. //为您服务
  376. listWNFW() {
  377. var self = this;
  378. var formData = new FormData();
  379. formData.append("typeId", "7288376a-b582-4e9a-98fa-c218e35b5c30");
  380. formData.append("pageSize", 5);
  381. newsApi.tabList(formData).then(function(response) {
  382. var jsonData = response.data.data;
  383. self.wnfwList = jsonData;
  384. })
  385. .catch((error) => {
  386. self.$message.error("为您服务获取数据发生错误!");
  387. });
  388. },
  389. //机构设置
  390. listJGSZ() {
  391. var self = this;
  392. var formData = new FormData();
  393. formData.append("typeId", "86e29bf7-9e8f-4a28-9361-1001705d3dc6");
  394. formData.append("pageSize", 5);
  395. newsApi.tabList(formData).then(function(response) {
  396. var jsonData = response.data.data;
  397. self.jgszList = jsonData;
  398. })
  399. .catch((error) => {
  400. self.$message.error("机构设置获取数据发生错误!");
  401. });
  402. },
  403. toDetail(id) {
  404. let pathInfo = this.$router.resolve({
  405. path: '/detail',
  406. query: {
  407. id: id
  408. }
  409. })
  410. window.open(pathInfo.href, '_blank');
  411. },
  412. toList(str) {
  413. this.$router.push("/list/" + str)
  414. },
  415. // 这里定义一个鼠标移入移出事件,鼠标悬停时停止自动轮播,鼠标移出则重新执行自动轮播
  416. MouseFun(type) { // 停止定时器 // 重新执行定时器
  417. type == '移入' ? clearTimeout(this.start) : this.奥力给()
  418. },
  419. // 此为自动轮播定时器
  420. 奥力给() {
  421. this.start = setInterval(() => {
  422. this.NextFun()
  423. }, 1500)
  424. },
  425. // 这里通过额外封装的节流函数触发 PrevFun() 和 NextFun(),以达到防止重复点击的效果
  426. throttle(fun) {
  427. if (this.flag) {
  428. this.flag = false;
  429. fun(); // 此为模板中传递进来的PrevFun()或NextFun()函数
  430. setTimeout(() => {
  431. this.flag = true;
  432. }, 1200); // 节流间隔时间
  433. }
  434. },
  435. // 上一张
  436. PrevFun() {
  437. if (this.leftVal == 0) { // 判断显示的图片 是 第一张时执行
  438. // this.swiperList.length是指循环图片数组的图片个数
  439. this.ition = 0 // 将过渡时间变成0,瞬间位移到最后一张图
  440. this.imgShow = this.swiperList.length - 1 // 将高亮小点改为最后一张图
  441. this.leftVal = (this.swiperList.length) * this.imgWidth // 瞬间移动
  442. setTimeout(() => { // 通过延时障眼法,归原过渡时间,执行真正的“上一张”函数
  443. this.ition = 0.8
  444. this.leftVal -= this.imgWidth
  445. }, this.ition * 1000)
  446. } else { // 判断显示的图片 不是 第一张时执行
  447. this.ition = 0.8
  448. this.leftVal -= this.imgWidth
  449. this.imgShow--
  450. }
  451. },
  452. // 下一张
  453. NextFun() {
  454. if (this.leftVal == (this.swiperList.length - 1) * this.imgWidth) { // 判断显示的图片 是 最后一张时执行
  455. this.ition = 0.8
  456. this.leftVal += this.imgWidth
  457. this.imgShow = 0
  458. setTimeout(() => {
  459. this.ition = 0
  460. this.leftVal = 0
  461. }, this.ition * 1000)
  462. } else { // 判断显示的图片 不是 最后一张时执行
  463. this.ition = 0.8
  464. this.leftVal += this.imgWidth
  465. this.imgShow++
  466. }
  467. },
  468. // 点击小圆点
  469. instFun(index) {
  470. this.ition = 0.8
  471. this.leftVal = index * this.imgWidth
  472. this.imgShow = index
  473. },
  474. },
  475. mounted: function() {
  476. this.listSwiper();
  477. this.listTPXW();
  478. this.listTZGG();
  479. this.listZWDT();
  480. this.listDJDT();
  481. this.listFZXC();
  482. this.listJJJC();
  483. this.listWMCJ();
  484. this.listWNFW();
  485. this.listJGSZ();
  486. this.奥力给()
  487. }
  488. };
  489. </script>
  490. <style lang="scss" scoped>
  491. .cover{
  492. background: url(http://admission-46879.oss-cn-hangzhou.aliyuncs.com/upload/railroad/bgcover.png) no-repeat center center;
  493. }
  494. .indexNav{
  495. margin-top: 0px;
  496. }
  497. .imgTitle {
  498. position: absolute;
  499. top: 300px;
  500. left: 0;
  501. right: 0;
  502. maxwidth: 450px;
  503. height: 95px;
  504. text-align: center;
  505. background-color: rgba(233, 234, 236, 1);
  506. padding: 16px 0px;
  507. .text {
  508. width: 100%;
  509. white-space: nowrap;
  510. overflow: hidden;
  511. text-overflow: ellipsis;
  512. color: rgba(16, 16, 16, 1);
  513. font-size: 24px;
  514. line-height: 35px;
  515. font-family: 'SemiBold';
  516. }
  517. .date {
  518. color: rgba(51, 51, 51, 1);
  519. font-size: 16px;
  520. text-align: right;
  521. margin-top: 14px;
  522. margin-right: 14px;
  523. font-family: 'Regular';
  524. }
  525. .show {
  526. display: block;
  527. }
  528. .hide {
  529. display: none;
  530. }
  531. }
  532. /* 图片容器样式 */
  533. .SwiperBox {
  534. margin-top: 15px;
  535. position: relative;
  536. width: 450px;
  537. height: 500px;
  538. box-sizing: border-box;
  539. cursor: pointer;
  540. overflow: hidden;
  541. .title {
  542. height: 100px;
  543. background-color: rgba(233, 234, 236, 1);
  544. padding: 16px 20px;
  545. width: 450px;
  546. .text {
  547. width: 100%;
  548. white-space: nowrap;
  549. overflow: hidden;
  550. text-overflow: ellipsis;
  551. color: rgba(16, 16, 16, 1);
  552. font-size: 24px;
  553. line-height: 35px;
  554. font-family: 'SemiBold';
  555. }
  556. .date {
  557. color: rgba(51, 51, 51, 1);
  558. font-size: 16px;
  559. text-align: right;
  560. margin-top: 10px;
  561. font-family: 'Regular';
  562. }
  563. .show {
  564. display: block;
  565. }
  566. .hide {
  567. display: none;
  568. }
  569. }
  570. @media screen and (max-width: 1250px) {
  571. .title {
  572. width: 410px;
  573. }
  574. };
  575. }
  576. .imgBox {
  577. position: absolute;
  578. top: 0px;
  579. left: 0px;
  580. width: 450px;
  581. height: 500px;
  582. display: flex;
  583. justify-content: flex-start;
  584. }
  585. /* 图片默认样式 */
  586. .imgBox img {
  587. flex-shrink: 0;
  588. width: 450px;
  589. height: 300px;
  590. }
  591. /* 两个按钮共有的样式,也可直接使用箭头图片替代 */
  592. .leftBtn,
  593. .rightBtn {
  594. position: absolute;
  595. top: 31%;
  596. transform: translateY(-50%);
  597. width: 30px;
  598. height: 30px;
  599. display: flex;
  600. justify-content: center;
  601. align-items: center;
  602. background: rgba(109, 109, 109, 0.445);
  603. color: #fff;
  604. border-radius: 50%;
  605. cursor: pointer;
  606. font-size: 12px;
  607. font-weight: 500;
  608. }
  609. .leftBtn {
  610. left: 10px;
  611. }
  612. .rightBtn {
  613. right: 10px;
  614. }
  615. /* 下方指示器盒子 */
  616. .instBox {
  617. position: absolute;
  618. left: 50%;
  619. transform: translateX(-50%);
  620. top: 280px;
  621. display: flex;
  622. }
  623. /* 小圆点 */
  624. .inst {
  625. width: 10px;
  626. height: 10px;
  627. border: 1px solid #ccc;
  628. margin-right: 8px;
  629. background: #fff;
  630. border-radius: 50%;
  631. cursor: pointer;
  632. }
  633. .inst:last-child {
  634. margin-right: 0px;
  635. }
  636. .instActv {
  637. border: 1px solid #ff0000;
  638. background: #ff0000;
  639. }
  640. #app {
  641. width: 100%;
  642. display: flex;
  643. justify-content: center;
  644. }
  645. </style>
  646. <style lang="scss" scoped>
  647. .main {
  648. min-width: 1139px;
  649. width: 100%;
  650. }
  651. .content {
  652. max-width: 1220px;
  653. min-height: calc(100vh - 150px);
  654. margin: 40px auto;
  655. .content-item1 {
  656. display: flex;
  657. .swiper-box {
  658. width: 36%;
  659. /deep/.el-carousel__container {
  660. height: 421px;
  661. img {
  662. height: 326px !important;
  663. }
  664. }
  665. /deep/.el-carousel__indicators--horizontal {
  666. bottom: 96px;
  667. }
  668. /deep/.el-carousel__arrow {
  669. top: 38.71%;
  670. }
  671. /deep/.el-carousel__button {
  672. border-radius: 999px !important;
  673. height: 8px;
  674. width: 8px;
  675. bottom: 196px !important;
  676. }
  677. /deep/.el-carousel__indicator.is-active button {
  678. background-color: black;
  679. }
  680. .el-carousel__item h3 {
  681. color: #475669;
  682. font-size: 14px;
  683. opacity: 0.75;
  684. line-height: 150px;
  685. margin: 0;
  686. }
  687. .el-carousel__item:nth-child(2n) {
  688. background-color: #99a9bf;
  689. }
  690. .el-carousel__item:nth-child(2n + 1) {
  691. background-color: #d3dce6;
  692. }
  693. }
  694. .news {
  695. width: 60%;
  696. margin-left: 40px;
  697. .title {
  698. display: flex;
  699. justify-content: space-between;
  700. align-items: center;
  701. padding-bottom: 12px;
  702. border-bottom: 1px solid rgba(187, 187, 187, 1);
  703. .newsphoto {
  704. font-family: 'SemiBold';
  705. color: rgba(51, 51, 51, 1);
  706. font-size: 20px;
  707. line-height: 28px;
  708. display: flex;
  709. align-items: center;
  710. img {
  711. width: 8px;
  712. height: 8px;
  713. vertical-align: middle;
  714. margin-right: 11px;
  715. }
  716. }
  717. .more {
  718. color: rgba(31, 74, 153, 1);
  719. font-size: 16px;
  720. line-height: 20px;
  721. display: flex;
  722. align-items: center;
  723. cursor: pointer;
  724. font-family: 'Regular';
  725. img {
  726. width: 20px;
  727. height: 20px;
  728. margin-left: 4px;
  729. }
  730. }
  731. }
  732. .newsGroup {
  733. margin-top: 20px;
  734. cursor: pointer;
  735. .item {
  736. display: flex;
  737. justify-content: space-between;
  738. line-height: 44px;
  739. border-bottom: 1px solid rgba(232, 232, 232, 1);
  740. .headline {
  741. color: rgba(51, 51, 51, 1);
  742. font-size: 18px;
  743. width: 70%;
  744. overflow: hidden;
  745. white-space: nowrap;
  746. text-overflow: ellipsis;
  747. }
  748. .date {
  749. color: rgba(119, 119, 119, 1);
  750. font-size: 18px;
  751. }
  752. }
  753. }
  754. }
  755. }
  756. .content-item2 {
  757. display: flex;
  758. margin-top: 40px;
  759. .list1,
  760. .list2 {
  761. width: 36%;
  762. .title {
  763. display: flex;
  764. justify-content: space-between;
  765. align-items: center;
  766. padding-bottom: 12px;
  767. border-bottom: 1px solid rgba(187, 187, 187, 1);
  768. .newsphoto {
  769. color: rgba(51, 51, 51, 1);
  770. font-size: 20px;
  771. line-height: 28px;
  772. display: flex;
  773. align-items: center;
  774. font-family: 'SemiBold';
  775. img {
  776. width: 8px;
  777. height: 8px;
  778. vertical-align: middle;
  779. margin-right: 11px;
  780. }
  781. }
  782. .more {
  783. cursor: pointer;
  784. color: rgba(31, 74, 153, 1);
  785. font-size: 16px;
  786. line-height: 20px;
  787. display: flex;
  788. align-items: center;
  789. font-family: 'Regular';
  790. img {
  791. width: 20px;
  792. height: 20px;
  793. margin-left: 4px;
  794. }
  795. }
  796. }
  797. .headline-group {
  798. cursor: pointer;
  799. margin-top: 20px;
  800. font-family: 'Regular';
  801. .item {
  802. line-height: 44px;
  803. white-space: nowrap;
  804. overflow: hidden;
  805. text-overflow: ellipsis;
  806. color: rgba(51, 51, 51, 1);
  807. font-size: 18px;
  808. border-bottom: 1px solid rgba(232, 232, 232, 1);
  809. }
  810. }
  811. }
  812. .list2 {
  813. margin-left: 40px;
  814. }
  815. .serve {
  816. margin-left: 40px;
  817. flex: 1;
  818. .title {
  819. display: flex;
  820. align-items: center;
  821. padding-bottom: 12px;
  822. border-bottom: 1px solid rgba(187, 187, 187, 1);
  823. color: rgba(51, 51, 51, 1);
  824. font-size: 20px;
  825. line-height: 28px;
  826. font-family: 'SemiBold';
  827. img {
  828. width: 8px;
  829. height: 8px;
  830. vertical-align: middle;
  831. margin-right: 11px;
  832. }
  833. }
  834. .serveGroup {
  835. font-family: 'Medium';
  836. margin-top: 23px;
  837. cursor: pointer;
  838. .item {
  839. height: 47px;
  840. line-height: 47px;
  841. color: #fff;
  842. border-radius: 4px;
  843. background: linear-gradient(89.94deg,
  844. rgba(31, 74, 153, 1) -1.05%,
  845. rgba(27, 126, 242, 1) 99.55%);
  846. display: flex;
  847. align-items: center;
  848. margin-bottom: 8px;
  849. padding-left: 8px;
  850. img {
  851. width: 40px;
  852. height: 40px;
  853. }
  854. .text {
  855. margin-left: 10px;
  856. }
  857. }
  858. }
  859. }
  860. }
  861. .banner {
  862. height: 120px;
  863. margin-top: 20px;
  864. background-image: url('../assets//img/banner.png');
  865. background-repeat: no-repeat;
  866. background-size: cover;
  867. // img {
  868. // width: 100%;
  869. // height: 120px;
  870. // object-fit: cover;
  871. // }
  872. }
  873. .content-item3 {
  874. display: flex;
  875. margin-top: 40px;
  876. .box {
  877. width: 76.5%;
  878. display: flex;
  879. flex-wrap: wrap;
  880. justify-content: space-between;
  881. .list {
  882. width: 47.4%;
  883. margin-bottom: 40px;
  884. .title {
  885. display: flex;
  886. justify-content: space-between;
  887. align-items: center;
  888. padding-bottom: 12px;
  889. border-bottom: 1px solid rgba(187, 187, 187, 1);
  890. .newsphoto {
  891. font-family: 'SemiBold';
  892. color: rgba(51, 51, 51, 1);
  893. font-size: 20px;
  894. line-height: 28px;
  895. display: flex;
  896. align-items: center;
  897. img {
  898. width: 8px;
  899. height: 8px;
  900. vertical-align: middle;
  901. margin-right: 11px;
  902. }
  903. }
  904. .more {
  905. font-family: 'Regular';
  906. color: rgba(31, 74, 153, 1);
  907. font-size: 16px;
  908. line-height: 20px;
  909. display: flex;
  910. align-items: center;
  911. cursor: pointer;
  912. img {
  913. width: 20px;
  914. height: 20px;
  915. margin-left: 4px;
  916. }
  917. }
  918. }
  919. .headline-group {
  920. cursor: pointer;
  921. margin-top: 20px;
  922. .item {
  923. line-height: 44px;
  924. white-space: nowrap;
  925. overflow: hidden;
  926. text-overflow: ellipsis;
  927. color: rgba(51, 51, 51, 1);
  928. font-size: 18px;
  929. border-bottom: 1px solid rgba(232, 232, 232, 1);
  930. }
  931. }
  932. }
  933. }
  934. .serve {
  935. margin-left: 40px;
  936. flex: 1;
  937. .title {
  938. font-family: 'SemiBold';
  939. display: flex;
  940. align-items: center;
  941. padding-bottom: 12px;
  942. border-bottom: 1px solid rgba(187, 187, 187, 1);
  943. color: rgba(51, 51, 51, 1);
  944. font-size: 20px;
  945. line-height: 28px;
  946. img {
  947. width: 8px;
  948. height: 8px;
  949. vertical-align: middle;
  950. margin-right: 11px;
  951. }
  952. }
  953. .serveGroup {
  954. font-family: 'Medium';
  955. cursor: pointer;
  956. margin-top: 23px;
  957. .item {
  958. height: 47px;
  959. line-height: 47px;
  960. color: #fff;
  961. border-radius: 4px;
  962. background: linear-gradient(89.94deg,
  963. rgba(31, 74, 153, 1) -1.05%,
  964. rgba(27, 126, 242, 1) 99.55%);
  965. display: flex;
  966. align-items: center;
  967. margin-bottom: 8px;
  968. padding-left: 8px;
  969. img {
  970. width: 40px;
  971. height: 40px;
  972. }
  973. .text {
  974. margin-left: 10px;
  975. }
  976. }
  977. }
  978. }
  979. }
  980. }
  981. .img-fixed1{
  982. width: 10vw;
  983. height: 40vh;
  984. position: fixed;
  985. left: 10px;
  986. bottom: 15vh;
  987. z-index: 999;
  988. img{
  989. width:100%;
  990. }
  991. }
  992. .img-fixed2{
  993. width: 10vw;
  994. height: 40vh;
  995. position: fixed;
  996. right: 10px;
  997. bottom: 15vh;
  998. z-index: 999;
  999. img{
  1000. width:100%;
  1001. }
  1002. }
  1003. @media (min-width:1610px) {
  1004. .img-fixed1{
  1005. width: 200px;
  1006. height: 200px;
  1007. position: fixed;
  1008. left: 20px;
  1009. bottom: 220px;
  1010. z-index: 999;
  1011. img{
  1012. width: 100%;
  1013. }
  1014. }
  1015. .img-fixed2{
  1016. width: 200px;
  1017. height: 200px;
  1018. position: fixed;
  1019. right: 20px;
  1020. bottom: 220px;
  1021. z-index: 999;
  1022. img{
  1023. width: 100%;
  1024. }
  1025. }
  1026. }
  1027. @media (max-width:1300px) {
  1028. .img-fixed1,.img-fixed2{
  1029. display: none;
  1030. }
  1031. }
  1032. @media (min-width:1900px) {
  1033. .img-fixed1{
  1034. height: 300px;
  1035. left: 6vw;
  1036. }
  1037. .img-fixed2{
  1038. height: 300px;
  1039. right:6vw;
  1040. }
  1041. }
  1042. @media (min-width:2000px) {
  1043. .img-fixed1{
  1044. width: 12vw;
  1045. height: 30vh;
  1046. left: 13vw;
  1047. bottom:35vh;
  1048. }
  1049. .img-fixed2{
  1050. width: 12vw;
  1051. height: 30vh;
  1052. right:13vw;
  1053. bottom:35vh;
  1054. }
  1055. }
  1056. </style>