index.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. <template>
  2. <div class="client-platform-page client-resources-page">
  3. <!-- 题库资源页 banner栏 -->
  4. <div class="client-platform-banner">
  5. <div :style="{backgroundImage: `url(${require(`~/static/images/client/resources/resources-banner-background.jpg`)})`}" class="client-platform-banner"></div>
  6. </div>
  7. <!-- 企业通用岗位培训方案 -->
  8. <div class="client-container">
  9. <h4 class="client-title">企业通用岗位培训方案</h4>
  10. <ul class="train-scheme-list">
  11. <li><div><i></i><span>职业素养</span></div></li>
  12. <li><div><i></i><span>领导能力</span></div></li>
  13. <li><div><i></i><span>人力资源</span></div></li>
  14. <li><div><i></i><span>市场营销</span></div></li>
  15. <li><div><i></i><span>行政管理</span></div></li>
  16. <li><div><i></i><span>财务管理</span></div></li>
  17. <li><div><i></i><span>客服服务</span></div></li>
  18. <li><div><i></i><span>产品运营</span></div></li>
  19. </ul>
  20. </div>
  21. <div class="platform-products-services">
  22. <ul>
  23. <li>
  24. <div class="client-container">
  25. <div class="products-services-box products-contrary-box">
  26. <h4 class="client-title">为企业培训打造学习矩阵</h4>
  27. <img :src="trainAdvantagesImg1" alt="完善的课程学习体系" />
  28. <div class="products-services-content">
  29. <p>
  30. 课程总数近<span class="blue-big-size">5000门</span><br>
  31. 涵盖<span class="blue-big-size">2000个</span>知识要点<br>
  32. 提供<span class="blue-big-size">8大通用岗位</span>培训方案<br>
  33. 课程资源<span class="blue-big-size">每月持续更新</span><br>
  34. </p>
  35. <div>
  36. <a class="client-default-Btn" @click="applyFun" >申请方案</a>
  37. <span rel="nofollow" class="client-default-white-Btn" @click="goIntroductionPage">联系我们</span>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. </li>
  43. </ul>
  44. </div>
  45. <!-- 情景动画 -->
  46. <div class="course-learn-box">
  47. <h4 class="client-title">课程内容形式多样</h4>
  48. <div class="client-container tc">
  49. <ul class="learn-box-list">
  50. <li>
  51. <a href="https://spdb.mtavip.com/sv/4f2e3958-17880e826df/4f2e3958-17880e826df.mp4"></a>
  52. <div>
  53. <span><img :src="courseVideoImg19" alt="FLASH动画课程"><i @click="playVideo(0)"></i></span>
  54. <p>FLASH动画课程</p>
  55. <p class="course-explain-black">主要以图文动画的形式表现教学者的作用和教与学之间的关系,从而改变学习的本质</p>
  56. </div>
  57. </li>
  58. <li>
  59. <a href="https://spdb.mtavip.com/65615d29a5da4478b8d4ebfd6810d2da/65ab43fa5fb942aab2af981c2f7ea5c7-da005714eae365940692db31fbf6e9b8-fd.mp4"></a>
  60. <div>
  61. <span><img :src="courseVideoImg8" alt="视频课程"><i @click="playVideo(1)"></i></span>
  62. <p>视频课程</p>
  63. <p class="course-explain-black">把教师视频与PowerPoint课件一并摄制下来,生成为视频课件</p>
  64. </div>
  65. </li>
  66. <li>
  67. <a href="https://1251882694.vod2.myqcloud.com/51d57535vodtransgzp1251882694/9ce0a1a35285890792886070899/v.f30.mp4"></a>
  68. <div><span><img :src="courseVideoImg6" alt="名师讲堂"><i @click="playVideo(2)"></i></span>
  69. <p>名师讲堂</p>
  70. <p class="course-explain-black">各行各业讲师汇聚一堂,为不同专属领域打造明星级课堂</p>
  71. </div>
  72. </li>
  73. </ul>
  74. <div class="platform-products-services">
  75. <a class="client-default-Btn" @click="applyFun" >申请方案</a>
  76. <span rel="nofollow" class="client-default-white-Btn" @click="goIntroductionPage">联系我们</span>
  77. </div>
  78. </div>
  79. </div>
  80. <!-- 新闻资讯 -->
  81. <div class="platform-news-information">
  82. <div class="client-container">
  83. <h4 class="client-title">新闻资讯</h4>
  84. <ul>
  85. <li style="font-size: 16px" v-for="(item, index) in topCarousels">
  86. <div>
  87. <img :src="item.pic" alt="新闻资讯" />
  88. <h4 @click="checkInfo(item)">{{ item.title }}</h4>
  89. <span>发布时间:{{item.yyyy }}-{{ item.mmdd }}</span>
  90. <p>{{ item.intro }}</p>
  91. </div>
  92. </li>
  93. </ul>
  94. </div>
  95. </div>
  96. <!-- 视频播放弹窗 -->
  97. <el-dialog
  98. :title="title"
  99. :visible.sync="videoDialogFlag"
  100. @close="closeVideoDialog"
  101. class="course-video-dialog"
  102. center>
  103. <video controls :src="source" class="course-video-box"></video>
  104. <p>{{footerText}}</p>
  105. </el-dialog>
  106. <!-- 申请方案弹窗 -->
  107. <el-dialog
  108. :close-on-click-modal="false"
  109. :visible.sync="telDl"
  110. @close="delDlClose"
  111. class="application-scheme-dialog"
  112. center>
  113. <i></i>
  114. <p>免费获得课程开发解决方案</p>
  115. <el-form :model="telChangeDate" status-icon :rules="telRules" ref="ruleTelForm" class="application-scheme-form">
  116. <el-form-item prop="tel">
  117. <el-input v-model="telChangeDate.tel" placeholder="请输入手机号" class="dialog-input-tel"></el-input>
  118. </el-form-item>
  119. </el-form>
  120. <div class="application-scheme-btn" @click="dialogSave">申请方案</div>
  121. <span>免费热线:18642628327</span><a href="http://p.qiao.baidu.com/cps/chat?siteId=11735491&amp;userId=10530011" target="_blank">在线客服</a>
  122. </el-dialog>
  123. </div>
  124. </template>
  125. <script>
  126. export default {
  127. name: 'resources',
  128. layout: 'templateB',
  129. async asyncData({ $axios,store }) {
  130. // 设置选中菜单
  131. store.commit('setActiveNav', '/resources');
  132. let [res1, res2] = await Promise.all([
  133. await $axios.$post(`/home/banner/list`, { 'code': 3 }).then(res => {
  134. return res;
  135. }),
  136. await $axios.$post(`/home/news/carousel`, { 'newsClassifyId': 0,'keyword':'培训' }).then(res => {
  137. return res;
  138. })
  139. ]);
  140. return {
  141. bannerList: res1.data.data||[],
  142. topCarousels: res2.data.data||[],
  143. };
  144. },
  145. data() {
  146. return {
  147. trainAdvantagesImg1: require(`~/static/images/client/resources/train-scheme-img.png`),
  148. courseVideoImg19: require(`~/static/images/client/course/course-video-img19.png`),
  149. courseVideoImg8: require(`~/static/images/client/course/course-video-img8.png`),
  150. courseVideoImg6: require(`~/static/images/client/course/course-video-img6.png`),
  151. videoArray:[
  152. {
  153. url:'https://spdb.mtavip.com/sv/4f2e3958-17880e826df/4f2e3958-17880e826df.mp4',
  154. fotterText:'主要以图文动画的形式表现教学者的作用和教与学之间的关系,从而改变学习的本质',
  155. title:'FLASH动画课程',
  156. },
  157. {
  158. url:'https://spdb.mtavip.com/65615d29a5da4478b8d4ebfd6810d2da/65ab43fa5fb942aab2af981c2f7ea5c7-da005714eae365940692db31fbf6e9b8-fd.mp4',
  159. fotterText:'把教师视频与PowerPoint课件一并摄制下来,生成为视频课件',
  160. title:'视频课程',
  161. },
  162. {
  163. url:'https://spdb.mtavip.com/customerTrans/87321d8a03805711940e85451d6bcb0a/359ee794-17470899bcf-0006-732a-c93-687b7.mp4',
  164. fotterText:'各行各业讲师汇聚一堂,为不同专属领域打造明星级课堂',
  165. title:'名师讲堂',
  166. },
  167. ],
  168. videoDialogFlag:false,
  169. source:'',
  170. footerText:'',
  171. title:'',
  172. btnTextDisabled: false,
  173. telDl: false,
  174. btnText: '获取验证码',
  175. countdown: 60, // 60秒倒计时
  176. sliderData: {},
  177. appKey: 'FFFF0N00000000007EC0',
  178. telChangeDate: {},
  179. telRules: {
  180. tel: [
  181. { trigger: 'blur', required: true, message: '请输入手机号' },
  182. ],
  183. },
  184. };
  185. },
  186. head(){
  187. return {
  188. SystemWidthFlag:false,// 判断是否是手机端,默认为false,默认为PC端
  189. title: '课程资源_学习平台_精品课程资源开发建设_学习平台开发建设',
  190. meta: [
  191. {
  192. name: 'keywords',
  193. content: '学习平台开发,学习平台建设'
  194. },
  195. {
  196. name:'description',
  197. content:'沈阳久创锐康公司凭借成熟的项目研发和管理经验,致力于为客户提供全方位的在线教育解决方案,实现移动化、平台化、知识化、智能化学习管理模式,让学习变得更轻松。“共同成长、相伴一生”是沈阳久创锐康始终不渝的核心价值观。'
  198. }
  199. ],
  200. }
  201. },
  202. computed: {},
  203. methods: {
  204. // 判断是否为移动端
  205. getSystemWidth(){
  206. var browserWidth=document.documentElement.clientWidth;
  207. if(browserWidth <= 768){
  208. this.SystemWidthFlag = true;
  209. }else{
  210. this.SystemWidthFlag = false;
  211. }
  212. },
  213. applyFun() {
  214. this.getSystemWidth();
  215. if(this.SystemWidthFlag){
  216. this.$router.push({ name: 'CourseDevelopPhone', query: {pageName: 'resources',} });
  217. }else {
  218. this.telDl = true;
  219. }
  220. },
  221. delDlClose(){
  222. this.telDl =false
  223. this.$refs.ruleTelForm.resetFields();
  224. },
  225. /**
  226. * 串联加载指定的脚本
  227. * 串联加载[异步]逐个加载,每个加载完成后加载下一个
  228. * 全部加载完成后执行回调
  229. * @param array|string 指定的脚本们
  230. * @param function 成功后回调的函数
  231. * @return array 所有生成的脚本元素对象数组
  232. * 异步加载js后运行回调函数callback / scripts 为数组或字符串
  233. */
  234. seriesLoadScripts(scripts, callback) {
  235. if (typeof (scripts) != 'object') {
  236. var scripts = [scripts];
  237. }
  238. var HEAD = document.getElementsByTagName('head').item(0) || document.documentElement;
  239. var s = new Array(), last = scripts.length - 1, recursiveLoad = function (i) { //递归
  240. s[i] = document.createElement('script');
  241. s[i].setAttribute('type', 'text/javascript');
  242. s[i].onload = s[i].onreadystatechange = function () { //Attach handlers for all browsers
  243. if (!/*@cc_on!@*/0 || this.readyState == 'loaded' || this.readyState == 'complete') {
  244. this.onload = this.onreadystatechange = null;
  245. this.parentNode.removeChild(this);
  246. if (i != last) {
  247. recursiveLoad(i + 1);
  248. } else if (typeof (callback) == 'function') {
  249. callback();
  250. }
  251. }
  252. };
  253. s[i].setAttribute('src', scripts[i]);
  254. HEAD.appendChild(s[i]);
  255. };
  256. recursiveLoad(0);
  257. },
  258. dialogSave(){
  259. this.$refs.ruleTelForm.validate((valid) => {
  260. if (valid) {
  261. // 请求后台
  262. const options = {
  263. phone: this.telChangeDate.tel
  264. };
  265. if (!/^1[3-9]\d{9}$/.test(this.telChangeDate.tel)) {
  266. this.$message.error('手机号格式错误');
  267. return false;
  268. }
  269. this.$axios.$post('/develop/add',options).then(res=>{
  270. if (res.code === 0 && res.data) {
  271. this.telDl = false;
  272. this.$message.success('申请成功');
  273. } else {
  274. this.$message.error(res.msg);
  275. }
  276. });
  277. }
  278. });
  279. },
  280. // 倒计时60秒
  281. setTime() {
  282. if (this.countdown === 0) {
  283. this.btnTextDisabled = false;
  284. this.btnText = '免费获取验证码';
  285. this.countdown = 60;
  286. } else {
  287. this.btnTextDisabled = true;
  288. this.btnText = '重新发送(' + this.countdown + 's)';
  289. this.countdown--;
  290. setTimeout(() => {
  291. this.setTime();
  292. }, 1000);
  293. }
  294. },
  295. // 验证码
  296. checkVerification() {
  297. if (this.sliderData.appkey === undefined) {
  298. this.$message.error('人机交互未通过');
  299. return;
  300. }
  301. this.$axios.$post(`/develop/exists`,{ phone: this.telChangeDate.tel}).then(res=>{
  302. if (res.code === 0 && res.data) {
  303. let req = {
  304. 'appkey': this.sliderData.appkey,
  305. 'phone': this.telChangeDate.tel,
  306. 'scene': this.sliderData.scene,
  307. 'sessionid': this.sliderData.csessionid,
  308. 'sig': this.sliderData.sig,
  309. 'token': this.sliderData.token,
  310. 'type': 0,
  311. }
  312. this.$axios.$post('/sendCode',req).then(res=>{
  313. if (res.code === 0 && res.data) {
  314. this.setTime();
  315. }else {
  316. this.$message.error(res.msg||'手机号已存在');
  317. }
  318. })
  319. } else {
  320. this.$message.error(res.msg||'手机号已存在');
  321. return false;
  322. }
  323. })
  324. },
  325. playVideo(index){
  326. this.videoDialogFlag = true
  327. this.source = this.videoArray[index].url
  328. this.footerText = this.videoArray[index].fotterText
  329. this.title = this.videoArray[index].title
  330. },
  331. closeVideoDialog(){
  332. this.videoDialogFlag = false;
  333. this.source = '';
  334. this.footerText = '';
  335. this.title = '';
  336. },
  337. goIntroductionPage(){
  338. this.$router.push({ name: 'introduction' });
  339. },
  340. checkInfo(data) {
  341. const opt = {
  342. id: data.code,
  343. };
  344. this.$router.push({ name: 'news-id', params: opt });
  345. },
  346. clickBanner(data){
  347. if(data){
  348. window.open(data)
  349. }
  350. },
  351. },
  352. created() {
  353. },
  354. mounted() {
  355. this.getSystemWidth();
  356. },
  357. beforeDestroy() {
  358. },
  359. };
  360. </script>
  361. <style>
  362. </style>