ConferenceResult.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. <template>
  2. <div class="autoBox container-box">
  3. <div class="bread-crumb">
  4. <el-breadcrumb separator="/">
  5. <el-breadcrumb-item :to="{ path: 'home' }">{{lang=='en'? 'Home': '首页'}}</el-breadcrumb-item>
  6. <el-breadcrumb-item :to="{ path: 'ConferenceServices'}">{{lang=='en'? 'Conferences': '会议'}}</el-breadcrumb-item>
  7. <el-breadcrumb-item>{{lang=='en'? baseInfo.meetingNameEn: baseInfo.meetingName}}</el-breadcrumb-item>
  8. </el-breadcrumb>
  9. </div>
  10. <div class="content-box">
  11. <div class="feed-back" @click="toFeedback(baseInfo.id)"><i class="el-icon-edit"></i> {{$t("common.FeedbackAndSuggestions")}}</div>
  12. <div style="display: flex; border-bottom: 4px solid #f2f2f2; padding-bottom: 30px">
  13. <div class="section-left">
  14. <div class="confrence-item confrence-introduce" v-if="baseInfo">
  15. <!-- <div class="confrence-item-header" id="introduction">{{$t("common.Introduction")}}</div> -->
  16. <div class="confrence-item-body">
  17. <p class="title">{{lang=='en'?baseInfo.meetingNameEn: baseInfo.meetingName}}</p>
  18. <!-- <p>
  19. <span>{{lang=='en'? 'Sponsor': '主办方'}}:</span><span class="sponsor">{{lang=='en'? baseInfo.meetingSponsorEn: baseInfo.meetingSponsor}}</span>
  20. </p> -->
  21. <div style="display: flex; justify-content: space-between;margin-top: 50px">
  22. <div>
  23. <span
  24. class="time"
  25. v-if="baseInfo.meetingStartDate"
  26. >{{formatDate(baseInfo.meetingStartDate)}}-{{formatDate(baseInfo.meetingEndDate)}}</span>
  27. <span class="place">{{lang=='en'?baseInfo.meetingPlaceEn: baseInfo.meetingPlace}}</span>
  28. </div>
  29. <div class="share">
  30. <!-- <span @click=""><i class="el-icon-star-off"></i> {{lang=='en'? 'Attention': '关注'}}</span> -->
  31. <!-- <span><i class="el-icon-share"></i> {{lang=='en'? 'Share': '分享'}}</span> -->
  32. <!-- <span class="share cursor" :style="ifcommon?'color: #66b1ff;':''"
  33. style="margin-right: 20px;" @click="shareChange()">
  34. <i class="el-icon-star-off" :style="ifcommon?'color: #66b1ff;':''"> </i>
  35. {{ifcommon?$t('common.Concerned'):$t('common.follow')}}
  36. </span> -->
  37. </div>
  38. </div>
  39. <div class="confrence-introduce-content">
  40. <p>{{lang=='en'? baseInfo.meetingIntroductionEn: baseInfo.meetingIntroduction}}</p>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="confrence-item" v-if="baseInfo.meetingYichengEn && baseInfo.meetingYicheng">
  45. <div class="confrence-item-body">
  46. <div v-html="lang=='en'? baseInfo.meetingYichengEn: baseInfo.meetingYicheng"></div>
  47. </div>
  48. </div>
  49. <div class="confrence-item">
  50. <div class="confrence-item-body" style="margin-top: 30px">
  51. <div>
  52. <a :href="'./api/file/pub/'+agendaData" target="_blank" class="agenda-title" v-if="agendaData">{{lang=='en'? 'View the Meeting agenda': '查看会议议程'}}</a>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="section-right">
  58. <div class="conference-recommend" v-if="recommendData.length">
  59. <p class="title">{{lang=='en'? 'Upcoming Events': '近期会议'}}</p>
  60. <ul class="conference-recommend-list">
  61. <li v-for="(item, i) in recommendData" :key="i" @click="toViewById('ConferenceDetail', item.id)">
  62. <div class="conference-recommend-top">
  63. <span class="time">{{formatDate(item.meetingStartDate)}}</span>
  64. <span class="step"></span>
  65. <span class="title">{{lang=='en'?item.meetingNameEn: item.meetingName}}</span>
  66. </div>
  67. <div class="conference-recommend-body">
  68. <span class="place">{{lang=='en'? item.meetingPlaceEn: item.meetingPlace}}</span>
  69. <p class="introduction plate">{{lang=='en'? item.meetingIntroductionEn: item.meetingIntroduction}}</p>
  70. <!-- <p class="sponsor">{{lang=='en'? item.meetingSponsorEn: item.meetingSponsor}}</p> -->
  71. </div>
  72. </li>
  73. </ul>
  74. <div class="no-data" v-if="recommendData.length < 4">{{lang=='en'? 'Coming Soon': '敬请期待'}}</div>
  75. <!-- <span class="more">{{lang=='en'? 'MORE': '更多'}}</span> -->
  76. </div>
  77. <div v-else style="text-align: center">
  78. <img v-if="lang=='en'" width="150" height="150" src="@/assets/img/conference/no-data-en.png" alt="">
  79. <img v-else width="150" height="150" src="@/assets/img/conference/no-data-zh.png" alt="">
  80. </div>
  81. </div>
  82. </div>
  83. <ul class="result-model-btn">
  84. <li v-show="item.isShow" :class="{active: modelView==item.view}" @click="modelChange(item.view)" v-for="(item, i) in modelBtns" :key="i">{{lang=='en'? item.textEN: item.text}}</li>
  85. </ul>
  86. <div class="result-model-view">
  87. <keep-alive>
  88. <component :is="modelView"></component>
  89. </keep-alive>
  90. </div>
  91. </div>
  92. <LoginReminder ref="loginReminder"></LoginReminder>
  93. <el-dialog
  94. :title="$i18n.locale=='zh'?'提示':'Reminder'"
  95. :visible.sync="toViewLogin"
  96. :width="$i18n.locale=='zh'?'500px':'750px'"
  97. :height="$i18n.locale=='zh'?'300px':'386px'"
  98. :before-close="toViewLoginChange"
  99. >
  100. <div style="width: 100%;height: 100%;">
  101. <img src="@/assets/img/loginTips.png" alt="" style="width: 180px;height: 180px;margin-left: 20px;">
  102. <div style="float: right;margin-right: 20px;" :style="$i18n.locale=='zh'?'width: 49%;margin-top: 10px;':'width: 453px;margin-top: -25px;'">
  103. <div style="font-size: 20px;font-weight: normal;color: #333333;
  104. font-family: HiraginoSansGB-W3, HiraginoSansGB;
  105. line-height: 40px;">
  106. {{$t('common.ReminderFirst')}}
  107. </div>
  108. <div style="font-size: 16px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  109. font-weight: normal;color: #666666;line-height: 30px;">
  110. {{$t('common.ReminderSecond')}} <span style="color: #0091FF;font-size: 18px;">{{num}}</span> {{$t('common.ReminderThird')}}
  111. </div>
  112. <div style="font-size: 14px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  113. font-weight: normal;color: #666666;line-height: 30px;">
  114. {{$t('common.ReminderForth')}}
  115. </div>
  116. <div style="font-size: 14px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  117. height:33px;line-height:60px;font-weight: normal;color: #0091FF;">
  118. <span style="margin-left: 40px;" class="cursor" @click="toView('login')">
  119. {{$t('common.ReminderFifth')}}
  120. </span>
  121. <span style="margin-left: 10px;" class="cursor" @click="toView('Register')">
  122. {{$t('common.ReminderSixth')}}
  123. </span>
  124. </div>
  125. </div>
  126. </div>
  127. </el-dialog>
  128. </div>
  129. </template>
  130. <script>
  131. import { getConfrenceDetail, getConfrences } from "@/api/meeting/meetingOutInfo";
  132. import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
  133. import 'vue-awesome-swiper/node_modules/swiper/dist/css/swiper.css'
  134. // import "swiper/css/swiper.css";
  135. import Base from "@/views/base/Base";
  136. import speaker from './modelView/speaker'
  137. import pic from './modelView/picture'
  138. import news from './modelView/news'
  139. import doc from './modelView/documents'
  140. import vid from './modelView/video'
  141. import {getToken} from "@/utils/auth";
  142. import LoginReminder from './LoginReminder'
  143. import { saveFollowModel } from "@/api/operation/basePortalModelFollowInfo";
  144. import {getFollowModeNumlByModelIdAndUserId} from "@/api/operation/basePortalModelFollowInfo";
  145. export default {
  146. extends: Base,
  147. components: {
  148. speaker,
  149. pic,
  150. news,
  151. doc,
  152. vid,
  153. LoginReminder
  154. },
  155. data() {
  156. return {
  157. recommendData: [],
  158. agendaData: '',
  159. viewpointData: [],
  160. imgData: [],
  161. newsData: [],
  162. materialData: [],
  163. modelView: '',
  164. modelShowBtns: [],
  165. num:5,
  166. toViewLogin:false,
  167. ifcommon:false,
  168. modelBtns: [
  169. {
  170. text: '嘉宾观点',
  171. textEN: 'Speakers',
  172. view: 'speaker',
  173. isShow: false
  174. },{
  175. text: '图片资料',
  176. textEN: 'Picture',
  177. view: 'pic',
  178. isShow: false
  179. },{
  180. text: '媒体报道',
  181. textEN: 'News',
  182. view: 'news',
  183. isShow: false
  184. },{
  185. text: '文件资料',
  186. textEN: 'Document',
  187. view: 'doc',
  188. isShow: false
  189. },{
  190. text: '视频资料',
  191. textEN: 'Video',
  192. view: 'vid',
  193. isShow: false
  194. },
  195. ],
  196. baseInfo: {},
  197. navIndex: -1,
  198. resultData: [],
  199. evaluateText: "",
  200. lang: '',
  201. showPointNum: 3,
  202. dialogShow: false,
  203. };
  204. },
  205. created(){
  206. this.lang = this.$i18n.locale;
  207. },
  208. watch: {
  209. '$i18n.locale'(val){
  210. this.lang = val;
  211. },
  212. "toViewLogin"(){
  213. if(this.toViewLogin==true){
  214. this.loginTipsChange();
  215. }
  216. }
  217. },
  218. mounted() {
  219. getConfrences().then(res=>{
  220. console.log('近期会议', res)
  221. res.data.meetingBasicInfos.forEach(item=>{
  222. if(!this.isMeetingOver(item.meetingEndDate) && item.meetingIsShow=="01" && item.meetingIsEnroll=="01"){
  223. this.recommendData.push(item)
  224. }
  225. })
  226. // console.log('会议', this.recommendData)
  227. })
  228. getConfrenceDetail(this.$route.query.key).then((res) => {
  229. this.baseInfo = res.data.basicInfo;
  230. let user = window.localStorage.getItem("user");
  231. if(user){
  232. var users = JSON.parse(user);
  233. var token = "" + getToken();
  234. var projectId = this.baseInfo.id;
  235. let userId = users.userId;
  236. getFollowModeNumlByModelIdAndUserId(
  237. projectId,
  238. "meeting",
  239. this.userId
  240. ).then((res) => {
  241. this.ifcommon = res.data;
  242. console.log(
  243. res.data,
  244. "---------------------------------------------------------------------------"
  245. );
  246. });
  247. }
  248. this.resultData = res.data.meetingOutInfo.video.filter(item =>{
  249. return (item.outType == "VIDEO" && item.videoUrl);
  250. });
  251. this.modelBtns[4].isShow = this.resultData.length;
  252. if(res.data.meetingOutInfo.image.length){
  253. let filterdFile = [];
  254. res.data.meetingOutInfo.image.forEach((item) => {
  255. if(item.photoType == "meeting_yicheng"){
  256. filterdFile.push(item);
  257. }else if(item.photoType == "meeting_pro_img"){
  258. item.list.forEach((_item) => {
  259. this.imgData.push(_item.attachmentSavePath);
  260. });
  261. }
  262. });
  263. if(filterdFile[0].list.length){
  264. this.agendaData = filterdFile[0].list[0].attachmentSavePath;
  265. }else{
  266. this.agendaData = '';
  267. }
  268. }else{
  269. this.agendaData = '';
  270. this.imgData = [];
  271. }
  272. this.modelBtns[1].isShow = this.imgData.length;
  273. this.viewpointData = res.data.meetingOutInfo.guandian.concat(res.data.meetingOutInfo.guandian_file, res.data.meetingOutInfo.guandian_video);
  274. this.modelBtns[0].isShow = this.viewpointData.length;
  275. // console.log('观点',this.viewpointData)
  276. this.newsData = res.data.meetingOutInfo.news.slice(0, 5);
  277. this.modelBtns[2].isShow = this.newsData.length;
  278. this.materialData = res.data.meetingOutInfo.file;
  279. this.modelBtns[3].isShow = this.materialData.length;
  280. // console.log('全部',res)
  281. // console.log('资料',this.materialData)
  282. // console.log('新闻',this.newsData)
  283. this.modelShowBtns = this.modelBtns.filter(item=>{
  284. return item.isShow > 0;
  285. })
  286. this.modelView = this.modelShowBtns[0].view;
  287. });
  288. },
  289. methods: {
  290. // 未登录跳转
  291. loginTipsChange(){
  292. const that=this;
  293. this.num =5;
  294. // clearInterval(timer_interval);
  295. this.timer = setInterval(function() {
  296. if (that.num > 0) {
  297. that.num--;
  298. } else {
  299. if(that.toViewLogin==true){
  300. clearInterval(that.timer);
  301. that.toView('login');
  302. }else {
  303. clearInterval(that.timer);
  304. }
  305. }
  306. }, 1000)
  307. },
  308. // 判断未登录跳转是否关闭
  309. toViewLoginChange(done){
  310. this.toViewLogin=false;
  311. this.num=5;
  312. clearInterval(this.timer);
  313. },
  314. shareChange() {
  315. if (this.ifcommon) {
  316. this.saveFollowModelDo("unfollow");
  317. } else {
  318. this.saveFollowModelDo("follow");
  319. }
  320. },
  321. saveFollowModelDo: function(followType){
  322. let user = window.localStorage.getItem('user');
  323. if (!this.$Cookies.get('token')) {
  324. this.toViewLogin=true;
  325. } else {
  326. var users = JSON.parse(user);
  327. var token = "" + getToken();
  328. var projectId = this.baseInfo.id;
  329. var userId = users.userId
  330. // 接口逻辑
  331. this.submitHandler(token => {
  332. saveFollowModel(projectId,"meeting", userId,followType,token).then(result => {
  333. // console.log(result);
  334. this.$message({
  335. message: result.data,
  336. type: 'success'
  337. });
  338. this.ifcommon=!this.ifcommon
  339. this.resetToken();
  340. }).catch(error => {
  341. // 此处你的业务代码
  342. });
  343. });
  344. }
  345. },
  346. toAgenda(){
  347. // const {href} = this.$router.resolve({
  348. // path: '/ConferenceAgenda',
  349. // query: {
  350. // pdf: JSON.stringify(this.agendaData)
  351. // }
  352. // })
  353. // window.open(href, '_blank')
  354. },
  355. toFeedback(id){
  356. this.$refs.loginReminder.activeChange('ConferenceFeedback', id);
  357. },
  358. modelChange(view){
  359. this.modelView = view
  360. },
  361. toView(router, json) {
  362. this.$router.push({ path: router, query: { key: json } });
  363. },
  364. toViewById(path, id){
  365. // localStorage.setItem('conferenceId', id);
  366. this.$router.push({ path: path, query:{ key: id} });
  367. },
  368. formatDate(t) {
  369. if (!t) {
  370. return "";
  371. } else {
  372. var original = new Date(t);
  373. var year = original.getFullYear();
  374. var month = original.getMonth() + 1;
  375. var date = original.getDate();
  376. var hour = original.getHours();
  377. var minute = original.getMinutes();
  378. var second = original.getSeconds();
  379. // return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
  380. return year + "/" + month + "/" + date;
  381. }
  382. },
  383. isMeetingOver(t){
  384. var ct = Date.parse(new Date());
  385. if(ct-t > 0){
  386. return true;
  387. }else{
  388. return false;
  389. }
  390. },
  391. },
  392. };
  393. </script>
  394. <style scoped>
  395. #ConferenceResultVideo{
  396. width: 100%;
  397. height: 100%;
  398. position: absolute;
  399. top: 0;
  400. left: 0;
  401. z-index: 9;
  402. }
  403. * {
  404. box-sizing: border-box;
  405. }
  406. .container-box {
  407. margin: 10px auto;
  408. background: #fff;
  409. padding: 0 20px;
  410. min-height: calc( 100vh - 420px );
  411. }
  412. .bread-crumb {
  413. background: #fff;
  414. padding: 20px 0;
  415. }
  416. .content-box {
  417. position: relative;
  418. padding-bottom: 40px;
  419. }
  420. .section-left{
  421. width: 70%;
  422. padding-right: 40px;
  423. border-right: 4px solid #f2f2f2;
  424. }
  425. .section-right{
  426. width: 30%;
  427. }
  428. .conference-recommend{
  429. position: relative;
  430. padding-bottom: 40px;
  431. padding-left: 20px;
  432. }
  433. .conference-recommend .no-data{
  434. color: #555;
  435. line-height: 26px;
  436. background: #f2f2f2;
  437. padding: 0 6px;
  438. font-size: 14px;
  439. text-align: center;
  440. }
  441. .conference-recommend .more{
  442. font-size: 20px;
  443. position: absolute;
  444. line-height: 27px;
  445. bottom: 10px;
  446. right: 10px;
  447. }
  448. .conference-recommend > .title{
  449. font-size: 18px;
  450. line-height: 18px;
  451. font-weight: bold;
  452. margin-top: 20px;
  453. margin-bottom: 20px;
  454. border-left: 8px solid #02a7f0;
  455. padding-left: 10px;
  456. }
  457. .conference-recommend-list{
  458. background: #fff;
  459. }
  460. .conference-recommend-top{
  461. background: #f2f2f2;
  462. line-height: 20px;
  463. font-size: 14px;
  464. display: flex;
  465. padding: 3px 6px;
  466. }
  467. .conference-recommend-top .step{
  468. display: block;
  469. width: 10px;
  470. position: relative;
  471. margin: 0 12px;
  472. }
  473. .conference-recommend-top .step::after{
  474. content: '';
  475. display: block;
  476. width: 9px;
  477. height: 9px;
  478. border: 1px solid #02a7f0;
  479. border-radius: 50%;
  480. position: absolute;
  481. top: 5px;
  482. left: 0px;
  483. }
  484. .conference-recommend-top .title{
  485. flex: 1;
  486. color: #02a7f0;
  487. }
  488. .section-left .time{
  489. color: #555;
  490. position: relative;
  491. padding-right: 15px;
  492. margin-right: 15px;
  493. }
  494. .section-left .time::after{
  495. width: 1px;
  496. height: 12px;
  497. background: #555;
  498. content: '';
  499. display: block;
  500. position: absolute;
  501. top: 5px;
  502. right: 0;
  503. }
  504. .section-right .time{
  505. width: 76px;
  506. }
  507. .conference-recommend-body{
  508. display: flex;
  509. color: #aaa;
  510. padding: 12px 0;
  511. }
  512. .conference-recommend-body .place{
  513. font-size: 12px;
  514. width: 100px;
  515. border-right: 1px dotted #f2f2f2;
  516. text-align: right;
  517. line-height: 24px;
  518. padding: 0 12px;
  519. }
  520. .conference-recommend-body .introduction{
  521. font-size: 12px;
  522. flex: 1;
  523. margin: 0 10px;
  524. line-height: 20px;
  525. -webkit-box-orient: vertical;
  526. position:relative;
  527. overflow: hidden;
  528. height:84px;
  529. }
  530. .conference-recommend-list li{
  531. margin-bottom: 30px;
  532. cursor: pointer;
  533. }
  534. .conference-recommend-list li img{
  535. width: 100%;
  536. }
  537. .conference-recommend-list li p{
  538. margin: 20px 0;
  539. }
  540. .conference-recommend-list li:hover p{
  541. color: #2c558a;
  542. }
  543. .conference-title {
  544. font-size: 20px;
  545. font-weight: bold;
  546. color: #333;
  547. margin-bottom: 20px;
  548. margin-top: 10px;
  549. }
  550. .confrence-item-header {
  551. line-height: 28px;
  552. font-size: 28px;
  553. font-weight: bold;
  554. margin: 30px 0;
  555. }
  556. .confrence-introduce p {
  557. margin: 0;
  558. font-size: 16px;
  559. }
  560. .confrence-introduce p span{
  561. line-height: 48px;
  562. color: #797979
  563. }
  564. .confrence-introduce .title{
  565. font-size: 36px;
  566. margin: 20px 0;
  567. }
  568. .confrence-introduce-content{
  569. line-height: 40px;
  570. margin-top: 20px;
  571. color: #555;
  572. }
  573. .overlay-box {
  574. width: 100%;
  575. height: 100%;
  576. position: absolute;
  577. top: 0;
  578. left: 0;
  579. background-size: cover;
  580. text-align: center;
  581. z-index: 9;
  582. }
  583. .overlay-box > img {
  584. position: absolute;
  585. top: 50%;
  586. left: 50%;
  587. margin-top: -50px;
  588. margin-left: -50px;
  589. opacity: 0.7;
  590. cursor: pointer;
  591. }
  592. .overlay-box > img:hover {
  593. opacity: 1;
  594. }
  595. .conference-video-title {
  596. margin: 0;
  597. width: 100%;
  598. height: 40px;
  599. text-align: center;
  600. line-height: 40px;
  601. font-size: 18px;
  602. font-weight: bold;
  603. color: #fff;
  604. background: rgba(0, 0, 0, 0.6);
  605. overflow: hidden;
  606. text-overflow: ellipsis;
  607. white-space: nowrap;
  608. position: absolute;
  609. top: -40px;
  610. left: 0;
  611. z-index: 99;
  612. transition: all 0.5s;
  613. }
  614. .swiper-slide:hover .conference-video-title {
  615. top: 0;
  616. }
  617. /deep/ .el-carousel {
  618. height: 800px;
  619. width: 600px;
  620. margin: 0 auto;
  621. }
  622. /deep/ .el-carousel__container {
  623. height: 800px;
  624. }
  625. /deep/ .el-carousel__item {
  626. height: 800px;
  627. }
  628. /deep/ .el-carousel__item img {
  629. max-width: 100%;
  630. max-height: 100%;
  631. }
  632. /deep/ .el-carousel__indicator--horizontal {
  633. padding: 0 3px;
  634. }
  635. /deep/ .el-carousel__button {
  636. width: 8px;
  637. height: 8px;
  638. background-color: #999;
  639. border-radius: 100%;
  640. }
  641. /deep/ .is-active .el-carousel__button{
  642. background: #3a8ee6;
  643. }
  644. .browse-all{
  645. text-align: center;
  646. }
  647. .image-box{
  648. line-height: 800px;
  649. text-align: center;
  650. }
  651. .image-box img{
  652. max-height: 100%;
  653. max-width: 100%;
  654. vertical-align: middle;
  655. }
  656. .agenda-title{
  657. font-size: 20px;
  658. line-height: 42px;
  659. height: 42px;
  660. cursor: pointer;
  661. color: #02a7f0;
  662. font-weight: bold;
  663. text-decoration: none;
  664. border-bottom: 2px solid #02a7f0;
  665. font-style: italic;
  666. }
  667. .agenda-title:hover{
  668. color: #d55421;
  669. border-bottom-color: #d55421;
  670. }
  671. .agenda-dialog{
  672. position: absolute;
  673. top: 50%;
  674. left: 50%;
  675. transform: translate(-50% ,-50%);
  676. }
  677. .agenda-mask{
  678. width: 100vw;
  679. height: 100vh;
  680. background: rgba(0, 0, 0, .8);
  681. position: fixed;
  682. top: 0;
  683. right: 0;
  684. z-index: 99;
  685. }
  686. .share span{
  687. cursor: pointer;
  688. margin-left: 30px;
  689. }
  690. .share span:hover{
  691. color: #168dbf;
  692. }
  693. .result-model-btn{
  694. margin: 30px 0;
  695. }
  696. .result-model-btn li{
  697. display: inline-block;
  698. padding: 6px 10px;
  699. margin-right: 40px;
  700. font-size: 18px;
  701. cursor: pointer;
  702. }
  703. .result-model-btn li:hover,
  704. .result-model-btn li.active{
  705. color: #fff;
  706. font-weight: bold;
  707. background: #02a7f0;
  708. }
  709. .result-model-view{
  710. min-height: 350px;
  711. }
  712. .feed-back{
  713. position: fixed;
  714. background: #2c558a;
  715. color: #fff;
  716. bottom: 240px;
  717. right: -110px;
  718. height: 40px;
  719. width: 150px;
  720. line-height: 40px;
  721. font-size: 18px;
  722. padding: 0 16px;
  723. border-radius: 25px 0 0 25px;
  724. z-index: 0;
  725. transition: all .5s;
  726. cursor: pointer;
  727. }
  728. .feed-back i{
  729. margin-right: 10px;
  730. }
  731. .feed-back:hover{
  732. right: 0px;
  733. }
  734. </style>