shoolDetail.vue 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. <template>
  2. <div id="shoolDetail">
  3. <el-row>
  4. <el-col :span="24" class="main">
  5. <el-col :span="24" class="one">
  6. <div class="w_1200">
  7. <el-col :span="20" class="left">
  8. <el-col :span="24" class="leftone">
  9. <span>科技成果展洽会</span>
  10. <span>欢迎您</span>
  11. </el-col>
  12. <el-col :span="24" class="lefttwo">
  13. SCIENTIFIC AND TECHNOLOGICAL ACHIEVEEMENTS EXHIBITION
  14. </el-col>
  15. </el-col>
  16. <el-col :span="4" class="right">
  17. <el-link :underline="false">帮助中心</el-link>
  18. </el-col>
  19. </div>
  20. </el-col>
  21. <el-col :span="24" class="two">
  22. <div class="w_1200">
  23. <el-col :span="24" class="twotop">
  24. <el-col :span="18" class="left">
  25. <p>{{ dockInfo.title }}</p>
  26. <el-image :src="two1"></el-image>
  27. </el-col>
  28. <el-col :span="6" class="right">
  29. <el-image :src="two2"></el-image>
  30. <p>{{ dockInfo.start_time }}</p>
  31. <p>距离展会结束还有</p>
  32. <p>{{ djs }}</p>
  33. </el-col>
  34. </el-col>
  35. <el-col :span="24" class="twocen">
  36. <el-col :span="15" class="left"> <span>主办单位:</span>{{ dockInfo.sponsor }} </el-col>
  37. <el-col :span="8" class="right">
  38. <el-button class="btn1" @click="$router.push({ path: '/halltwo/directTwo', query: { id: dockInfo.id } })">返回展会进行页</el-button>
  39. <el-button class="btn2" @click="$router.push({ path: '/halltwo/detail', query: { dock_id: dockInfo.id } })">进入展会总结页</el-button>
  40. </el-col>
  41. </el-col>
  42. </div>
  43. </el-col>
  44. <el-col :span="24" class="three">
  45. <div class="w_1200">
  46. <el-col :span="24" class="threeinfo">
  47. <p class="title">高校院所</p>
  48. <el-col :span="24" class="detail">
  49. <p>{{ schoolList.content }}</p>
  50. <p v-if="schoolList.name == '吉林大学' || schoolList.name == '长春理工大学'">附件</p>
  51. </el-col>
  52. </el-col>
  53. </div>
  54. </el-col>
  55. <el-col :span="24" class="four">
  56. <div class="w_1200">
  57. <el-col :span="24" class="info">
  58. <el-col :span="8" class="left">
  59. <h1>专家咨询:</h1>
  60. <p>工作日:08:30~17:00</p>
  61. <p>咨询电话:</p>
  62. <p>0431-81666508</p>
  63. </el-col>
  64. <el-col :span="8" class="left">
  65. <h1>业务联系:</h1>
  66. <p>长春中科北斗工程技术有限公司</p>
  67. <p>联系人:刘经理</p>
  68. <p>电话:18604328977</p>
  69. <p>邮箱:18889898@qq.com</p>
  70. </el-col>
  71. <el-col :span="8" class="left right">
  72. <h1>活动帮微信:</h1>
  73. <el-image :src="erweima" style="width:132px;height:132px;"></el-image>
  74. </el-col>
  75. </el-col>
  76. </div>
  77. </el-col>
  78. </el-col>
  79. <div class="pz_down">
  80. <live-foot></live-foot>
  81. </div>
  82. </el-row>
  83. </div>
  84. </template>
  85. <script>
  86. import liveFoot from '@/layout/live/foot.vue';
  87. import { mapState, createNamespacedHelpers } from 'vuex';
  88. const { mapActions: dock } = createNamespacedHelpers('dock');
  89. import { schoolList } from '@/util/school.js';
  90. var moment = require('moment');
  91. export default {
  92. metaInfo() {
  93. return { title: this.$route.meta.title };
  94. },
  95. name: 'shoolDetail',
  96. props: {},
  97. components: {
  98. liveFoot,
  99. },
  100. data: function() {
  101. return {
  102. two1: require('@a/sy_04.png'),
  103. two2: require('@a/dock2.png'),
  104. // 展會詳情
  105. dockInfo: {},
  106. // 指导单位
  107. erweima: require('@a/二维码.jpg'),
  108. // 倒计时
  109. djs: '',
  110. schoolList: schoolList,
  111. };
  112. },
  113. async created() {
  114. await this.searchInfo();
  115. },
  116. methods: {
  117. ...dock({ dockQuery: 'query', dockFetch: 'fetch', goodsquery: 'goodsquery' }),
  118. async searchInfo() {
  119. // 查询展会详情
  120. if (this.dock_id) {
  121. let res = await this.dockFetch(this.dock_id);
  122. if (this.$checkRes(res)) {
  123. this.$set(this, `dockInfo`, res.data);
  124. }
  125. // 倒计时
  126. this.timer = setInterval(() => {
  127. this.setTime(res.data.start_time);
  128. }, 1000);
  129. }
  130. if (this.name) {
  131. let list = this.schoolList.find(i => i.name == this.name);
  132. // console.log(list);
  133. this.schoolList = list;
  134. }
  135. },
  136. // 倒计时
  137. setTime(end) {
  138. let now = moment().format('YYYY-MM-DD HH:mm:ss');
  139. // let now = moment().format('2020-11-20 08:00:00');
  140. if (end == now) {
  141. clearInterval(this.timer);
  142. this.$set(this, `djs`, '展会开始');
  143. } else {
  144. let sec = moment(end).diff(now, 'seconds');
  145. let day = _.floor(sec / 60 / 60 / 24);
  146. let hour = _.floor(Math.abs(day * 24 - sec / 60 / 60));
  147. let dayhour = day * 24;
  148. let minute = _.floor(Math.abs(day * 24 * 60 + hour * 60 - sec / 60));
  149. let second = _.floor(Math.abs(day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60 - sec));
  150. let str = `${hour + dayhour}小时${minute}分${second}秒`;
  151. this.$set(this, `djs`, str);
  152. }
  153. },
  154. },
  155. computed: {
  156. ...mapState(['user']),
  157. dock_id() {
  158. return this.$route.query.dock_id;
  159. },
  160. name() {
  161. return this.$route.query.name;
  162. },
  163. },
  164. };
  165. </script>
  166. <style lang="less" scoped>
  167. .main {
  168. .one {
  169. height: 100px;
  170. .left {
  171. height: 100px;
  172. .leftone {
  173. margin: 15px 0 0 0;
  174. span:nth-child(1) {
  175. font-size: 35px;
  176. color: #535353;
  177. font-weight: bold;
  178. font-family: cursive;
  179. }
  180. span:nth-child(2) {
  181. font-size: 15px;
  182. padding: 0 10px;
  183. color: #535353;
  184. }
  185. }
  186. .lefttwo {
  187. font-size: 12px;
  188. color: #535353;
  189. }
  190. }
  191. .right {
  192. height: 100px;
  193. line-height: 100px;
  194. text-align: right;
  195. }
  196. }
  197. .two {
  198. height: 610px;
  199. background: url('~@/assets/bj1.jpg');
  200. padding: 20px 0;
  201. .twotop {
  202. margin: 0 0 10px 0;
  203. .left {
  204. height: 357px;
  205. margin: 0 10px 0 0;
  206. background: url('~@/assets/dock1.png');
  207. p {
  208. float: left;
  209. width: 79%;
  210. font-size: 43px;
  211. color: #fff;
  212. font-weight: bold;
  213. padding: 13% 0 0 20px;
  214. }
  215. .el-image {
  216. float: left;
  217. width: 153px;
  218. height: 94px;
  219. margin: 4% 0 0 0;
  220. }
  221. }
  222. .right {
  223. background-color: #ffffff;
  224. width: 24%;
  225. height: 357px;
  226. text-align: center;
  227. padding: 0 10px;
  228. .el-image {
  229. width: 120px;
  230. height: 48px;
  231. margin: 50px 0 0px 0;
  232. }
  233. p:nth-child(2) {
  234. font-size: 18px;
  235. margin: 30px 0 5px 0;
  236. }
  237. p:nth-child(3) {
  238. font-size: 22px;
  239. font-weight: bold;
  240. margin-bottom: 30px;
  241. }
  242. p:nth-child(4) {
  243. background: #f5f5f5;
  244. padding: 20px 0px;
  245. border-radius: 5px;
  246. font-size: 30px;
  247. }
  248. }
  249. .right:hover {
  250. cursor: pointer;
  251. p:nth-child(3) {
  252. color: #535353;
  253. }
  254. }
  255. }
  256. .twocen {
  257. height: 130px;
  258. overflow: hidden;
  259. line-height: 130px;
  260. background-color: #fff;
  261. margin: 0 0 35px 0;
  262. .left {
  263. font-size: 18px;
  264. margin: 0 0 0 30px;
  265. span {
  266. font-size: 22px;
  267. font-weight: bold;
  268. }
  269. }
  270. .right {
  271. .btn1 {
  272. font-size: 16px;
  273. color: #fff;
  274. background: red;
  275. border: none;
  276. font-weight: bold;
  277. }
  278. .btn2 {
  279. font-size: 16px;
  280. color: #ff0000;
  281. border: 1px solid #ff0000;
  282. font-weight: bold;
  283. }
  284. }
  285. }
  286. }
  287. .three {
  288. height: 860px;
  289. overflow: hidden;
  290. position: relative;
  291. top: -50px;
  292. z-index: 999;
  293. .threeinfo {
  294. height: 860px;
  295. overflow: hidden;
  296. background-color: #fff;
  297. box-shadow: 0 5px 15px rgba(33, 82, 203, 0.35);
  298. padding: 30px;
  299. .title {
  300. font-family: '微软雅黑';
  301. font-weight: 400;
  302. font-size: 26px;
  303. }
  304. .detail {
  305. font-size: 18px;
  306. line-height: 26px;
  307. color: #070707;
  308. margin: 50px 0 40px 0;
  309. min-height: 300px;
  310. p {
  311. text-indent: 2em;
  312. }
  313. }
  314. }
  315. }
  316. .four {
  317. border-top: 2px solid #305798;
  318. height: 250px;
  319. .info {
  320. .left {
  321. h1 {
  322. padding: 15px 0;
  323. font-weight: bold;
  324. color: #4d4d4d;
  325. }
  326. p {
  327. font-size: 16px;
  328. color: #4d4d4d;
  329. padding: 5px 0;
  330. }
  331. }
  332. .right {
  333. text-align: center;
  334. }
  335. }
  336. }
  337. }
  338. </style>