animation.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. <template>
  2. <div class="client-course-page course-animation">
  3. <!-- 宣传图 -->
  4. <div class="client-course-banner" :style="{backgroundImage:`url(${banner_image})`}" @click="goQuotation"></div>
  5. <!-- 动画分类显示区域 -->
  6. <div class="client-course-classification">
  7. <div class="client-container">
  8. <courseCardTitle :title="project.title" class="classification-title"></courseCardTitle>
  9. <ul class="classification-items">
  10. <li class="classification-item" :class="{active:item.type === activeItem }" v-for="item in project.data" @click="changeItem(item)">{{ item.title }}</li>
  11. </ul>
  12. </div>
  13. </div>
  14. <!-- 动画分类详情区域 -->
  15. <div class="client-course-classification__info">
  16. <div class="client-container">
  17. <courseCardTitle :title="curItem.title" class="classification__info-title"></courseCardTitle>
  18. <div class="classification__info-mainTitle">{{curItem.mainTitle}}</div>
  19. <div class="classification__info-subHead">{{curItem.subhead}}</div>
  20. <ul class="classification__info-videos">
  21. <li v-for="item in curItem.videos" class="classification-video-item">
  22. <course-video :img-url="item.imgUrl" :title="item.title" :dialog-title="item.title" :source="item.url"></course-video>
  23. </li>
  24. </ul>
  25. <div class="classification-btns">
  26. <a class="classification-online-zixun" :href="zixunUrl">在线咨询</a>
  27. </div>
  28. </div>
  29. </div>
  30. <!-- 课程报价区域 -->
  31. <div class="client-course-quotation" ref="quotation">
  32. <div class="client-container quotation-wrap">
  33. <div class="left-text">
  34. <h3>课程定制在线报价</h3>
  35. <p>栋科客服人员会在30分钟内与你取得联系</p>
  36. </div>
  37. <courseBaojia class="baojia-form" tag="dhl" :user-list="userList" :sum="custom_sum"></courseBaojia>
  38. </div>
  39. </div>
  40. </div>
  41. </template>
  42. <script>
  43. import courseCardTitle from "@/components/course/course-card-title";
  44. import courseBaojia from "@/components/course/course-baojia";
  45. import courseVideo from "@/components/course/course-video";
  46. export default {
  47. name: 'animation',
  48. layout: 'templateB',
  49. head() {
  50. return {
  51. title: '动画制作_mg动画_flash动画_an动画_二维动画_三维动画视频短片制作公司',
  52. meta: [
  53. {
  54. name: 'keywords',
  55. content: '动画制作,mg动画制作,flash动画制作,flash制作,an动画制作,二维动画制作,三维动画制作,动画短片制作,动画制作公司'
  56. },
  57. {
  58. name:'description',
  59. content:'麦塔拥有国内专业、成熟的动画制作团队,丰富的电子课程制作经验,业务方向包括教学设计体验、图文内容演示、mg动画、flash动画、an动画、二维动画、三维动画、动画短片等,在院校教育、零售连锁行业、汽车行业、金融等12大行业课程开发经验超过15年,规范可靠的研发流程、完善的质量评估和卓越的项目管理体系,能高效稳定地保障支付。'
  60. }
  61. ]
  62. }
  63. },
  64. components: {
  65. courseCardTitle,
  66. courseBaojia,
  67. courseVideo
  68. },
  69. async asyncData({$axios, store}) {
  70. // 设置选中菜单
  71. store.commit('setActiveNav', '/courseware');
  72. let [ res2, res3] = await Promise.all([
  73. $axios.$post(`/develop/sum`, {}),
  74. $axios.$post(`/develop/userlist`, {}),
  75. ])
  76. return {
  77. custom_sum: res2.data || 0,
  78. userList: res3.data.data || []
  79. }
  80. },
  81. data() {
  82. return {
  83. banner_image: require(`~/static/images/client/course/animation/donghua-banner.png`),
  84. project: {
  85. title: '高端动画',
  86. data: [
  87. {
  88. type: 'qingjingdonghua',
  89. title: '情景动画',
  90. mainTitle: '每年产出高端精品情景动画500+部',
  91. subhead: 'mg动画/flash动画/二维动画/三维动画',
  92. videos: [
  93. {
  94. title: '情景动画',
  95. purpose: '宣传营销', // 用途
  96. imgUrl: require('~/static/images/client/course/animation/animation-01.png'),
  97. url: 'https://spdb.mtavip.com/sv/443e4168-18561fbbaa4/443e4168-18561fbbaa4.mp4',
  98. },
  99. {
  100. title: '情景动画',
  101. purpose: '知识分享', // 用途
  102. imgUrl: require('~/static/images/client/course/animation/animation-02.png'),
  103. url: '',
  104. },
  105. {
  106. title: '情景动画',
  107. purpose: '动画微课', // 用途
  108. imgUrl: require('~/static/images/client/course/animation/animation-03.png'),
  109. url: '',
  110. }
  111. ]
  112. },
  113. {
  114. type: 'piantoudonghua',
  115. title: '片头动画',
  116. mainTitle: '创意片头动画设计,考究到每一帧每一秒',
  117. subhead: '只做对的,不做贵的',
  118. videos: [
  119. {
  120. title: 'AE制作',
  121. purpose: '片头动画', // 用途
  122. imgUrl: require('~/static/images/client/course/animation/piantou-01.png'),
  123. url: '',
  124. },
  125. {
  126. title: 'AE制作',
  127. purpose: '片头动画', // 用途
  128. imgUrl: require('~/static/images/client/course/animation/piantou-02.png'),
  129. url: '',
  130. },
  131. {
  132. title: 'AE制作',
  133. purpose: '片头动画', // 用途
  134. imgUrl: require('~/static/images/client/course/animation/piantou-03.png'),
  135. url: '',
  136. }
  137. ]
  138. },
  139. {
  140. type: 'donghuaduanpian',
  141. title: '动画短片',
  142. mainTitle: '专业剧本文案老师指导沟通,打造客户满意的短片画风',
  143. subhead: '做专业动画,对妥协说“不”',
  144. videos: [
  145. {
  146. title: '二维动画',
  147. purpose: '幼儿教学微课', // 用途
  148. imgUrl: require('~/static/images/client/course/animation/duanpian-01.png'),
  149. url: '',
  150. },
  151. {
  152. title: '二维动画',
  153. purpose: '安全培训微课', // 用途
  154. imgUrl: require('~/static/images/client/course/animation/duanpian-02.png'),
  155. url: '',
  156. },
  157. {
  158. title: '二维动画',
  159. purpose: '直播违规微课', // 用途
  160. imgUrl: require('~/static/images/client/course/animation/duanpian-03.png'),
  161. url: '',
  162. }
  163. ]
  164. },
  165. {
  166. type: 'xuanchuandonghua',
  167. title: '宣传动画',
  168. mainTitle: '麦塔动画制作-专业定制各类宣传动画!',
  169. subhead: '1V1文案指导,专业配音老师',
  170. videos: [
  171. {
  172. title: 'mg动画',
  173. purpose: '生产工艺', // 用途
  174. imgUrl: require('~/static/images/client/course/animation/xuanchuan-01.png'),
  175. url: '',
  176. },
  177. {
  178. title: 'mg动画',
  179. purpose: '企业宣传', // 用途
  180. imgUrl: require('~/static/images/client/course/animation/xuanchuan-02.png'),
  181. url: '',
  182. },
  183. {
  184. title: '情景动画',
  185. purpose: '动画微课', // 用途
  186. imgUrl: require('~/static/images/client/course/animation/xuanchuan-03.png'),
  187. url: '',
  188. }
  189. ]
  190. }
  191. ]
  192. },
  193. zixunUrl: "https://affim.baidu.com/cps/chat?siteId=17930746&userId=40179606&siteToken=d9c57b2ea4cbedbb044677ef47a1e2d1",
  194. activeItem: 'qingjingdonghua'
  195. }
  196. },
  197. computed: {
  198. curItem() {
  199. return this.project.data.find(item => item.type === this.activeItem)
  200. },
  201. },
  202. methods: {
  203. changeItem(item) {
  204. this.activeItem = item.type;
  205. },
  206. goQuotation() {
  207. document.documentElement.scrollTop = this.$refs.quotation.offsetTop-150;
  208. window.pageYOffset = this.$refs.quotation.offsetTop -150;
  209. document.body.scrollTop=this.$refs.quotation.offsetTop -150;
  210. }
  211. }
  212. };
  213. </script>
  214. <style lang="scss" scoped>
  215. .course-animation {
  216. .client-course-banner {
  217. cursor: pointer;
  218. }
  219. .client-course-classification {
  220. box-sizing: border-box;
  221. text-align: center;
  222. height: 737px;
  223. padding-top: 135px;
  224. .classification-title {
  225. margin-bottom: 144px;
  226. }
  227. .classification-items {
  228. display: flex;
  229. justify-content: space-between;
  230. align-items: center;
  231. }
  232. .classification-item {
  233. background-color: #cccccc;
  234. width: 250px;
  235. height: 280px;
  236. }
  237. }
  238. .client-course-classification__info {
  239. box-sizing: border-box;
  240. background-image: url("~static/images/client/course/animation/course-bg-01.png");
  241. padding-top: 84px;
  242. height: 843px;
  243. .classification__info-title {
  244. margin-bottom: 57px;
  245. }
  246. .classification__info-mainTitle {
  247. text-align: center;
  248. font-weight: normal;
  249. color: #333333;
  250. margin-bottom: 16px;
  251. font-size: 24px;
  252. }
  253. .classification__info-subHead {
  254. text-align: center;
  255. font-size: 18px;
  256. font-weight: 400;
  257. color: #333333;
  258. }
  259. .classification__info-videos {
  260. display: flex;
  261. justify-content: center;
  262. align-items: center;
  263. margin: 122px 0 50px 0;
  264. .classification-video-item {
  265. background-color: #ccc;
  266. margin-right: 20px;
  267. width: 380px;
  268. height: 280px;
  269. &:last-child {
  270. margin-right: 0;
  271. }
  272. img {
  273. width: 380px;
  274. height: 280px;
  275. }
  276. }
  277. }
  278. .classification-btns {
  279. text-align: center;
  280. .classification-online-zixun {
  281. display: inline-block;
  282. background: #0065cd;
  283. border-radius: 6px;
  284. text-align: center;
  285. color: #ffffff;
  286. font-weight: 400;
  287. font-size: 16px;
  288. line-height: 48px;
  289. margin-bottom: 128px;
  290. width: 138px;
  291. height: 50px;
  292. }
  293. }
  294. }
  295. .client-course-quotation {
  296. background-image: url("~static/images/client/course/btns/course-bg-b1.png");
  297. height: 637px;
  298. .quotation-wrap {
  299. display: flex;
  300. justify-content: space-between;
  301. .left-text {
  302. margin-top: 282px;
  303. h3 {
  304. font-size: 48px;
  305. font-weight: 700;
  306. text-align: left;
  307. color: #fefefe;
  308. letter-spacing: 1.2px;
  309. margin-bottom: 33px;
  310. width: 410px;
  311. height: 47px;
  312. }
  313. p {
  314. font-size: 20px;
  315. font-weight: 400;
  316. text-align: left;
  317. color: #ffffff;
  318. width: 364px;
  319. height: 20px;
  320. }
  321. }
  322. .baojia-form {
  323. margin-top: 82px;
  324. margin-right: 120px;
  325. }
  326. }
  327. }
  328. @media (max-width: 768px){
  329. .client-course-classification {
  330. box-sizing: border-box;
  331. text-align: center;
  332. height: 400px;
  333. padding-top: 35px;
  334. .classification-title {
  335. margin-bottom: 42px;
  336. }
  337. .classification-items{
  338. flex-wrap: wrap;
  339. justify-content: space-around;
  340. }
  341. .classification-item {
  342. box-sizing: border-box;
  343. margin: 10px;
  344. width: calc(50% - 20px);
  345. height: 140px;
  346. &:not(:nth-child(even)) {
  347. margin-right: 0;
  348. }
  349. &:nth-child(n+3) {
  350. margin-top: 0;
  351. }
  352. }
  353. }
  354. .client-course-classification__info{
  355. height: auto;
  356. padding-top: 42px;
  357. .classification__info-videos {
  358. flex-wrap: wrap;
  359. flex-direction: column;
  360. box-sizing: border-box;
  361. padding: 20px;
  362. margin: 30px 0 0 0;
  363. .classification-video-item {
  364. height: auto;
  365. flex: 1;
  366. width: 100%;
  367. margin: 0 0 10px;
  368. img {
  369. height: auto;
  370. width: 100%;
  371. }
  372. }
  373. }
  374. .classification-btns {
  375. .classification-online-zixun {
  376. margin-bottom: 60px;
  377. }
  378. }
  379. }
  380. .client-course-quotation {
  381. margin-bottom: 200px;
  382. height: 400px;
  383. .quotation-wrap {
  384. flex-direction: column;
  385. .left-text {
  386. margin: 40px auto 0;
  387. h3 {
  388. text-align: center;
  389. font-size: 20px;
  390. margin-bottom: 10px;
  391. width: 100%;
  392. }
  393. p {
  394. text-align: center;
  395. width: 100%;
  396. font-size: 16px;
  397. }
  398. }
  399. .baojia-form {
  400. margin: 0 auto;
  401. }
  402. }
  403. }
  404. }
  405. }
  406. </style>