From 9b6f2b9a80fbcaae09af4693a6cd76f4a760f962 Mon Sep 17 00:00:00 2001
From: admin:huo123456@qq <496960745@qq.com>
Date: 星期一, 21 一月 2019 10:02:40 +0800
Subject: [PATCH] 图片和视频上传修改内容

---
 gx_tieta/WebRoot/iframe/homeinfo.html |  499 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 493 insertions(+), 6 deletions(-)

diff --git a/gx_tieta/WebRoot/iframe/homeinfo.html b/gx_tieta/WebRoot/iframe/homeinfo.html
index 975c99c..d9abd8a 100644
--- a/gx_tieta/WebRoot/iframe/homeinfo.html
+++ b/gx_tieta/WebRoot/iframe/homeinfo.html
@@ -9,6 +9,11 @@
     <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">
+    <!-- 瀵煎叆鐧惧害鍦板浘API -->
+	<link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />
+	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=QAerSFEiGDCx1oHPB7Z5XYcBHI6R3qwx"></script>
+	<script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
     <style>
         body.homeinfo-tab .layui-tab {
         	margin: 0;
@@ -19,6 +24,16 @@
         body.homeinfo-tab .layui-tab-content {
         	padding: 0;
         }
+        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">
@@ -29,6 +44,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){ }}
@@ -39,7 +55,7 @@
             {{# layui.each(d.tabc, function(index, item){ }}
                 {{# if(item.type == 'group'){ }}
                 <div class="layui-tab-item {{ item.cshow }}">
-                    <table class="hdw-tbl">
+                    <table class="hdw-tbl mrb8">
                         <thead>
                             <tr>
                                 <th style="width:30%">鍙傛暟鍚嶇О</th>
@@ -103,12 +119,16 @@
                                 <td>璐熻矗浜�</td>
                                 <td>{{ item.content.person }}</td>
                             </tr>
+							<tr>
+                                <td>瀹夎浜哄憳</td>
+                                <td>{{ item.content.install_user }}</td>
+                            </tr>
                         </tbody>
                     </table>
                 </div>
-                {{# }else{ }}
+                {{# }else if(item.type == 'home'){ }}
                 <div class="layui-tab-item {{ item.cshow }}">
-                    <table class="hdw-tbl">
+                    <table class="hdw-tbl mrb8">
                         <thead>
                             <tr>
                                 <th style="width:30%">鍙傛暟鍚嶇О</th>
@@ -271,19 +291,215 @@
                         </tbody>
                     </table>
                 </div>
-                {{# } }}
+                {{# }else if(item.type == 'env'){ }}
+					<div class="layui-tab-item {{ item.cshow }}">
+						<div id="video" style="width: 100%;height: 100%;"></div>
+						<div id="videos" class="video-list">
+							<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>
+    								<span style="color: #FF0000;">璇蜂笂浼犳湁鍏虫満鎴跨殑瑙嗛</span>
+								</div>
+							</div>
+							<div class="layui-upload">
+		       					<div class="layui-upload-list">
+		       						<table class="layui-table">
+		       							<thead>
+						        			<tr>
+							        			<th>鏂囦欢鍚�</th>
+							        			<th>澶у皬</th>
+												<th>鎿嶄綔</th>
+						      				</tr>
+					      			</thead>
+					      			<tbody id="videoInfoTbl"></tbody>
+		       						</table>
+		       					</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>
+				{{# }else if(item.type == 'envImg'){ }}
+					<div class="layui-tab-item {{ item.cshow }}">
+						<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>
+									<span style="color: #FF0000;">璇蜂笂浼犵數璇濆崱銆佹満鎴垮悕绉般�佺數姹犲瀷鍙枫�佽礋杞界數娴併�乥ts璁惧鎺ョ嚎銆佺數娴佹帴绾裤�佹暣浣撳畨瑁呮晥鏋滃浘绛夊浘鐗�</span>
+								</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>
+				{{# }else if(item.type=='homeMap'){ }}
+					<div class="layui-tab-item {{ item.cshow }}">
+						<div id="BMap" style="width: 100%; height: 100%;"></div>
+					</div>
+				{{# } }}
             {{# }); }}
         </div>
     </script>
     <script>
-        layui.use(['element', 'laytpl'], 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');
-            //console.log(homeInfo);
+            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){
+				var playerName = '鍩虹珯鐜鐭棰�';
+				var tabTxt = $(this).text();
+				if(!player && tabTxt == playerName) {
+					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,
+                        VideoOrImage: 'video'
+                    })
+                }
+                ,exts: 'mp4|MOV|avi|rmvb'
+                ,accept: 'video' //瑙嗛
+                ,choose: function(obj) {
+                	var files = this.files = obj.pushFile();
+                	//console.log(files);
+                	videoInfoTbl.text('');
+                	// 閬嶅巻
+                	Object.keys(files).forEach(function(key) {
+                		var file = files[key];
+                		//console.log(file);
+                		var tr = $(['<tr id="upload-'+ key +'">'
+				          ,'<td>'+ file.name +'</td>'
+				          ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
+				          ,'<td>'
+				            ,'<button class="layui-btn layui-btn-xs layui-btn-danger imgs-delete">鍒犻櫎</button>'
+				          ,'</td>'
+				        ,'</tr>'].join(''));
+				        
+				        //鍒犻櫎
+				        tr.find('.imgs-delete').on('click', function(){
+				          delete files[key]; //鍒犻櫎瀵瑰簲鐨勬枃浠�
+				          tr.remove();
+				          uploadVideo.config.elem.next()[0].value = ''; //娓呯┖ input file 鍊硷紝浠ュ厤鍒犻櫎鍚庡嚭鐜板悓鍚嶆枃浠朵笉鍙��
+				        });
+				        
+				        videoInfoTbl.append(tr);
+                	});
+                }
+                ,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', '涓婁紶鎴愬姛锛�');
+                		getVideoList(sid, gFileName, true);
+                	}
+                }
+            });
+            
             // 鏍规嵁鎸囧畾鏍煎紡data鐨勫�兼洿鏂皌ab鐨勫唴瀹�
             function updatehomeInfoTab(data) {
                 laytpl(tabTpl).render(data, function(html) {
@@ -291,6 +507,277 @@
                     element.render('tab', 'homeInfoTab');
                 });
             }
+            
+           
+            
+            // 鑾峰彇瑙嗛鍒楄〃
+           	function getVideoList(sid, fileName, update) {
+           		var tmp = {
+           			StationId: sid,
+           			VideoOrImage: '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);
+           				//console.log(rs);
+           				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;
+           	}
+           	
+           	
+           	// 鏈烘埧鐜鍥剧墖闆嗘ā鍧�
+    		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);
+			}
+			
+			// 鏈烘埧鍦板浘妯″潡
+			var bMap = $('#BMap');
+			// 鍒ゆ柇鍦板浘瀹瑰櫒鏄惁瀛樺湪
+			if(bMap.length != 0) {
+				// 鍒涘缓鍦板浘
+				let map = createMap();
+				// 鐢熸垚鍦板浘鍥炬爣
+				createMapPoint(map);
+			}
+			
+			// 鐢熸垚鍦板浘
+			function createMap() {
+				let map = new BMap.Map('BMap');
+				var point = new BMap.Point(125.3192,43.8090);
+				map.centerAndZoom(point, 11);	// 鐢ㄥ煄甯傚悕璁剧疆鍦板浘涓績鐐�
+				map.enableScrollWheelZoom();
+				map.disableDoubleClickZoom();
+				// 娣诲姞鍦板浘绫诲瀷鎺т欢
+				map.addControl(new BMap.MapTypeControl());
+				// 缁欏湴鍥炬坊鍔犲伐鍏锋潯(鍦板浘-鍗槦-涓夌淮)鍜屾瘮渚嬪昂鎺т欢
+				let bottom_left_control = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
+				map.addControl(bottom_left_control);	// 娣诲姞姣斾緥灏哄埌鍦板浘
+				
+				return map;
+			}
+			
+			// 鐢熸垚鍦板浘鍥炬爣骞剁Щ鍔ㄥ埌涓績浣嶇疆
+			function createMapPoint(map) {
+				var homeData = getTabCItem('homeMap', homeInfo.tabc);
+				// 鍒ゆ柇鏄惁鑾峰彇鍒颁簡
+				if(homeData.code == 1) {
+					console.log(homeData);
+					var point = new BMap.Point(homeData.data.lng, homeData.data.lat);
+	            	var mk = new BMap.Marker(point);
+		       		var label = new BMap.Label("鏂版満鎴�",{offset:new BMap.Size(20,-10)});
+		       		label.setStyle({display: 'none', padding: '4px 2px'});
+		       		mk.disableDragging();		// 璁剧疆涓嶅彲鎷栧姩
+		       		map.addOverlay(mk);			// 灏嗚鐩栫墿娣诲姞鍒板湴鍥句腑
+		       		mk.setLabel(label);			// 缁欒鐩栫墿娣诲姞label鎻愮ず
+					map.panTo(point);		// 灏嗗湴鍥剧Щ鍔ㄥ埌娣诲姞鐨勭偣浣嶇疆
+					map.setZoom(20);			// 璁剧疆鍦板浘鐨勭缉鏀剧瓑绾�
+				}else {
+					layer.msg('鑾峰彇鏈烘埧淇℃伅澶辫触');
+				}
+			}
+			
+			// 鑾峰彇鎸囧畾鐨則abC鍐呭
+			function getTabCItem(type, tabs) {
+				let rs = {
+					code: 0
+					,data: {}
+					,msg: '鏈娴嬪埌淇℃伅'
+				};
+				// 閬嶅巻tabs
+				for(let i=0; i<tabs.length;i++) {
+					let _tab = tabs[i];
+					if(_tab.type == type) {
+						rs.code = 1;
+						rs.data = _tab;
+						rs.msg = '鑾峰彇鎴愬姛' ;
+						break;
+					}
+				}
+				
+				return rs;
+			}
+			
         });
     </script>
 </body>

--
Gitblit v1.9.1