From 51fd09b466bb40fa4ad43b343f1321847bdbf88d Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期二, 20 十一月 2018 12:02:57 +0800 Subject: [PATCH] 图片上传 --- gx_tieta/WebRoot/iframe/homeinfo.html | 187 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 178 insertions(+), 9 deletions(-) diff --git a/gx_tieta/WebRoot/iframe/homeinfo.html b/gx_tieta/WebRoot/iframe/homeinfo.html index 4872a8b..f3a327d 100644 --- a/gx_tieta/WebRoot/iframe/homeinfo.html +++ b/gx_tieta/WebRoot/iframe/homeinfo.html @@ -23,6 +23,13 @@ body.homeinfo-tab .layui-tab-content .layui-tab-item.layui-show { height: 100%; } + #imgCarousel .carousel-item div { + text-align: center; + } + #imgCarousel img { + width: auto; + height: 100%; + } </style> </head> <body class="homeinfo-tab"> @@ -329,16 +336,52 @@ </div> </div> </div> + {{# }else if(item.type == 'envImg'){ }} + <div class="layui-tab-item"> + <div class="layui-carousel" id="imgCarousel" lay-filter="imgCarousel"> + <div carousel-item="" class="carousel-item" id="carouselItems"></div> + </div> + </div> + {{# }else if(item.type == 'envImgUpload'){ }} + <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="addImgs"><i class="layui-icon"> </i>閫夋嫨涓婁紶鍥剧墖</button> + </div> + </div> + <div class="layui-upload"> + <div class="layui-upload-list"> + <table class="layui-table"> + <thead> + <tr> + <th>鍥剧墖棰勮</th> + <th>鏂囦欢鍚�</th> + <th>澶у皬</th> + <th>鎿嶄綔</th> + </tr> + </thead> + <tbody id="imgInfoTbl"></tbody> + </table> + </div> + </div> + <div class="bottom-btn"> + <button type="button" class="layui-btn layui-btn-normal" id="uploadImgs">纭涓婁紶</button> + </div> + </div> + </div> {{# } }} - {{# }); }} </div> </script> <script> - layui.use(['element', 'laytpl', 'upload'], function() { + layui.use(['element', 'laytpl', 'upload', 'carousel', 'layer'], function() { var element = layui.element; var laytpl = layui.laytpl; var upload = layui.upload; + var carousel = layui.carousel; + var layer = layui.layer; var tabTpl = $('#homeTab').html(); var homeInfo = parent.$('#homeInfoIframeData').data('data'); @@ -406,19 +449,19 @@ ,number: 1 ,data: { json:JSON.stringify( { - StationId: sid + StationId: sid, + VideoOrImage: 'video' }) } ,accept: 'video' //瑙嗛 ,choose: function(obj) { - var files = this.files = obj.pushFile(); - console.log(files); + //console.log(files); videoInfoTbl.text(''); // 閬嶅巻 Object.keys(files).forEach(function(key) { var file = files[key]; - console.log(file); + //console.log(file); var tr = $(['<tr id="upload-'+ key +'">' ,'<td>'+ file.name +'</td>' ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' @@ -460,10 +503,10 @@ // 鑾峰彇瑙嗛鍒楄〃 - function getVideoList(sid, fileName,update) { + function getVideoList(sid, fileName, update) { var tmp = { StationId: sid, - StationName: 'video' + VideoOrImage: 'video' }; var videoContainer = $('#videos .video-list-content'); // 璇锋眰瑙嗛鎾斁鍒楄〃 @@ -475,6 +518,7 @@ dataType: 'json', success: function(result) { var rs = JSON.parse(result.result); + //console.log(rs); if(rs.code==1) { var data = rs.data; var rsList = []; @@ -492,7 +536,7 @@ if(update) { }else{ - //videoObject.video = [[videoUrl, 'video/mp4']]; + videoObject.video = [[videoUrl, 'video/mp4']]; } }else { createVideosList(videoContainer, [], fileName); @@ -533,6 +577,131 @@ return list[acIndex].fileUrl; } + + + // 鏈烘埧鐜鍥剧墖闆嗘ā鍧� + var imgCarouselopts = { + elem: '#imgCarousel', + arrow: 'always', + width: '100%', + height: '100%', + autoplay: false + }; + + //甯歌杞挱 + var homeEnvImgs = carousel.render(imgCarouselopts); + var imgsInfo = $('#imgInfoTbl'); + var uploadImgsLoad; + var uploadImgs = upload.render({ + elem: '#addImgs' + ,url: 'MyFileAction!uploadStationFile' + ,accept: 'image' + ,multiple: true + ,data: { + json:JSON.stringify( { + StationId: sid, + VideoOrImage: 'image' + }) + } + ,auto: false + ,bindAction: '#uploadImgs' + ,choose: function(obj){ + var files = this.files = obj.pushFile(); + imgsInfo.text(''); + //璇诲彇鏈湴鏂囦欢 + obj.preview(function(index, file, result){ + var tr = $(['<tr id="upload-'+ index +'">' + ,'<td><img src="'+result+'">' + ,'<td>'+ file.name +'</td>' + ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' + ,'<td>' + ,'<button class="layui-btn layui-btn-xs imgs-reload layui-hide">閲嶄紶</button>' + ,'<button class="layui-btn layui-btn-xs layui-btn-danger imgs-delete">鍒犻櫎</button>' + ,'</td>' + ,'</tr>'].join('')); + + //鍗曚釜閲嶄紶 + tr.find('.imgs-reload').on('click', function(){ + obj.upload(index, file); + }); + + //鍒犻櫎 + tr.find('.imgs-delete').on('click', function(){ + delete files[index]; //鍒犻櫎瀵瑰簲鐨勬枃浠� + tr.remove(); + uploadImgs.config.elem.next()[0].value = ''; //娓呯┖ input file 鍊硷紝浠ュ厤鍒犻櫎鍚庡嚭鐜板悓鍚嶆枃浠朵笉鍙�� + }); + + imgsInfo.append(tr); + }); + } + ,before:function() { + uploadImgsLoad = layer.load(1); + } + ,done:function(res) { + var rs = JSON.parse(res.result); + if(rs.code == 1) { + layer.msg('涓婁紶鎴愬姛锛�'); + searchCarouselImgs(sid, homeEnvImgs, imgCarouselopts, imgsContainer); + }else { + layer.msg('涓婁紶澶辫触锛�'); + } + layer.close(uploadImgsLoad); + } + }); + + // 鏌ヨ杞挱鍥捐祫婧� + var imgsContainer = $('#carouselItems'); + searchCarouselImgs(sid, homeEnvImgs, imgCarouselopts, imgsContainer); + function searchCarouselImgs(sid, carousel, options, imgsContainer) { + var tmp = { + StationId: sid, + VideoOrImage: 'image' + }; + // 璇锋眰瑙嗛鎾斁鍒楄〃 + $.ajax({ + type: 'post', + async: true, + url: 'MyFileAction!searchStationSource', + data: 'json='+JSON.stringify(tmp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + //console.log(rs); + var rsList = []; + if(rs.code==1) { + var data = rs.data; + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = {}; + tmp.fileName = _data.fileName; + tmp.fileUrl = '../../stationsrc/'+sid+'/image/'+_data.fileName; + rsList.push(tmp); + } + }else { + var tmp = {}; + tmp.fileName = 'none.jpg'; + tmp.fileUrl = '../images/none.jpg'; + rsList.push(tmp); + } + updateCarouselImgs(homeEnvImgs, imgCarouselopts, imgsContainer, rsList); + } + }); + } + + // 鏇存柊鍥剧墖杞挱鍥� + function updateCarouselImgs(carousel, options, container, imgs) { + // 娓呯┖瀹瑰櫒 + container.text(''); + // 閬嶅巻imgs + for(var i=0; i<imgs.length; i++) { + var _imgs = imgs[i]; + var item = $('<div><img src="'+_imgs.fileUrl+'"></div>'); + container.append(item); + } + + carousel.reload(options); + } }); </script> </body> -- Gitblit v1.9.1