From 9ddd943af4a3b650b5fa877eff8d4f2ce643448a Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期一, 19 十一月 2018 16:40:35 +0800 Subject: [PATCH] 视频上传 --- gx_tieta/WebRoot/iframe/homeinfo.html | 199 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 196 insertions(+), 3 deletions(-) diff --git a/gx_tieta/WebRoot/iframe/homeinfo.html b/gx_tieta/WebRoot/iframe/homeinfo.html index 975c99c..abe495d 100644 --- a/gx_tieta/WebRoot/iframe/homeinfo.html +++ b/gx_tieta/WebRoot/iframe/homeinfo.html @@ -9,6 +9,7 @@ <link rel="stylesheet" href="../src/css/layui.css"> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../pages/css/mylayui.css"> + <link rel="stylesheet" href="../font-awesome-4.7.0/css/font-awesome.css"> <style> body.homeinfo-tab .layui-tab { margin: 0; @@ -18,6 +19,9 @@ } body.homeinfo-tab .layui-tab-content { padding: 0; + } + body.homeinfo-tab .layui-tab-content .layui-tab-item.layui-show { + height: 100%; } </style> </head> @@ -29,6 +33,7 @@ </div> <script src="../js/jquery-1.8.3.js"></script> <script src="../src/layui.js"></script> + <script src="../ckplayer/ckplayer.js"></script> <script type="text/html" id="homeTab"> <ul class="layui-tab-title"> {{# layui.each(d.tabc, function(index, item){ }} @@ -106,7 +111,7 @@ </tbody> </table> </div> - {{# }else{ }} + {{# }else if(item.type == 'home'){ }} <div class="layui-tab-item {{ item.cshow }}"> <table class="hdw-tbl"> <thead> @@ -271,19 +276,130 @@ </tbody> </table> </div> - {{# } }} + {{# }else if(item.type == 'env'){ }} + <div class="layui-tab-item"> + <div id="video" style="width: 100%;height: 100%;"></div> + <div id="videos" class="video-list video-slideHide"> + <div class="video-list-container"> + <div class="video-slideToggle"><i class="fa fa-chevron-right"></i></div> + <div class="video-list-content"> + <div class="video-item video-item-active"><a href="javascript:;">瑙嗛1.mp4</a></div> + <div class="video-item"><a href="javascript:;">瑙嗛2.mp4</a></div> + <div class="video-item"><a href="javascript:;">瑙嗛3.mp4</a></div> + </div> + <div class="video-list-bg"></div> + </div> + </div> + </div> + {{# }else if(item.type == 'upload'){ }} + <div class="layui-tab-item"> + <div class="upload-form-container"> + <br> + <div class="layui-form mrl8"> + <div class="layui-form-item"> + <button type="button" class="layui-btn" id="test5"><i class="layui-icon"> </i>閫夋嫨涓婁紶瑙嗛</button> + <div class="layui-input-inline"> + <input type="text" name="title" autocomplete="off" placeholder="璇疯緭鍏ヨ棰戝悕绉�" class="layui-input"> + </div> + </div> + </div> + <div class="layui-progress layui-progress-big mrl8 mrr8" lay-showPercent="yes" lay-filter="uploadProgress"> + <div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div> + </div> + <div class="bottom-btn"> + <button type="button" class="layui-btn layui-btn-normal" id="upload">纭涓婁紶</button> + </div> + </div> + {{# } }} + {{# }); }} </div> </script> <script> - layui.use(['element', 'laytpl'], function() { + layui.use(['element', 'laytpl', 'upload'], function() { var element = layui.element; var laytpl = layui.laytpl; + var upload = layui.upload; var tabTpl = $('#homeTab').html(); var homeInfo = parent.$('#homeInfoIframeData').data('data'); //console.log(homeInfo); updatehomeInfoTab(homeInfo); + + // 閲嶆柊娓叉煋 + element.render('progress','uploadProgress'); + + // 瑙嗛娴忚妯″潡 + var videoObject = { + container: '#video', //瀹瑰櫒鐨処D鎴朿lassName + variable: 'player', //鎾斁鍑芥暟鍚嶇О + loop: false, //鎾斁缁撴潫鏄惁寰幆鎾斁 + autoplay: false,//鏄惁鑷姩鎾斁 + //poster: 'material/poster.jpg', //灏侀潰鍥剧墖 + preview: {}, + drag: 'start', //鎷栧姩鐨勫睘鎬� + video: [ + ['', 'video/mp4'] + ] + }; + + var player; + element.on('tab(homeInfoTab)', function(data){ + if(!player) { + player = new ckplayer(videoObject); + } + }); + + // 鐐瑰嚮鏄剧ず瑙嗛鍒楄〃 + $('#homeInfoTab').on('click', '.video-slideToggle', function() { + var videos = $(this).parent().parent(); + videos.toggleClass('video-slideHide'); + }); + + // 鏈烘埧id + var sid = homeInfo.sid; + + // 鑾峰彇瑙嗛鍒楄〃 + getVideoList(sid); + + // 鐐瑰嚮瑙嗛鍒楄〃 + var gFileName = ''; + $('#homeInfoTab').on('click', '.video-item', function(){ + var videoInfo = $(this).data('data'); + $('#homeInfoTab .video-item').removeClass('video-item-active'); + $(this).addClass('video-item-active'); + videoObject.video = [[videoInfo.fileUrl, 'video/mp4']]; + player = new ckplayer(videoObject); + }); + + + // 涓婁紶瑙嗛妯″潡 + var videoInfoTbl = $('#videoInfoTbl'); + // 娓叉煋骞跺垵濮嬪寲涓婁紶鎸夐挳 + var uploadVideo = upload.render({ + elem: '#test5' + ,url: 'MyFileAction!uploadStationFile' + ,auto: false + ,bindAction: '#upload' + ,multiple: true + ,number: 1 + ,data: { + json:JSON.stringify( { + StationId: sid + }) + } + ,accept: 'video' //瑙嗛 + ,progress: function(e , percent) { + element.progress('uploadProgress',percent + '%'); + } + ,done: function(res, index, upload) { + var rs = JSON.parse(res.result); + if(rs.code == 1) { + element.progress('uploadProgress', '涓婁紶鎴愬姛锛�'); + } + } + }); + // 鏍规嵁鎸囧畾鏍煎紡data鐨勫�兼洿鏂皌ab鐨勫唴瀹� function updatehomeInfoTab(data) { laytpl(tabTpl).render(data, function(html) { @@ -291,6 +407,83 @@ element.render('tab', 'homeInfoTab'); }); } + + + + // 鑾峰彇瑙嗛鍒楄〃 + function getVideoList(sid, fileName,update) { + var tmp = { + StationId: sid, + StationName: 'video' + }; + var videoContainer = $('#videos .video-list-content'); + // 璇锋眰瑙嗛鎾斁鍒楄〃 + $.ajax({ + type: 'post', + async: true, + url: 'MyFileAction!searchStationSource', + data: 'json='+JSON.stringify(tmp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + if(rs.code==1) { + var data = rs.data; + var rsList = []; + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = {}; + tmp.fileName = _data.fileName; + tmp.fileUrl = '../../stationsrc/'+sid+'/video/'+_data.fileName; + rsList.push(tmp); + } + + // 鏇存柊鍒楄〃骞惰幏鍙栧綋鍓嶆挱鏀剧殑瑙嗛 + var videoUrl = createVideosList(videoContainer, rsList, fileName); + // 鏄惁鏇存柊瑙嗛鍒楄〃 + if(update) { + + }else{ + videoObject.video = [[videoUrl, 'video/mp4']]; + } + }else { + createVideosList(videoContainer, [], fileName); + } + + } + }); + } + + // 鐢熸垚瑙嗛鍒楄〃 + function createVideosList(container, list, acName) { + // 娓呯┖container + container.text(""); + // 鍒ゆ柇鏄惁瀛樺湪瑙嗛鍒楄〃 + if(list.length == 0) { + return ''; + } + // 閬嶅巻list + var acIndex = 0; + for(var i=0; i<list.length; i++) { + var _list = list[i]; + var videoItem = $('<div class="video-item"><a href="javascript:;">'+_list.fileName+'</a></div>'); + + // 璁剧疆淇℃伅鍐呭 + videoItem.data('data', _list); + // 璁剧疆琚縺娲荤殑瑙嗛鍚嶇О + if(_list.fileName == acName) { + acIndex = i; + } + + container.append(videoItem); + } + + // 婵�娲昏閫変腑鐨勮棰� + container.find('.video-item').eq(acIndex).addClass('video-item-active'); + // 璁剧疆鍏ㄥ眬鐨勬鍦ㄦ挱鏀剧殑瑙嗛鐨勫悕绉� + gFileName = list[acIndex].fileName; + + return list[acIndex].fileUrl; + } }); </script> </body> -- Gitblit v1.9.1