dengzhiguo 6 years ago
parent
commit
10af51dc34
7 changed files with 383 additions and 17 deletions
  1. 78 0
      src/css/search.css
  2. 7 7
      src/js/index.js
  3. 11 9
      src/js/newMenu/index.js
  4. 215 0
      src/js/search.js
  5. 60 0
      template/search.html
  6. 7 1
      webpack.config.js
  7. 5 0
      webpack/entry.config.js

+ 78 - 0
src/css/search.css

@@ -0,0 +1,78 @@
+body{background:linear-gradient(to top,#F2F7FB,#fff);}
+.cont{width:1200px;margin: 0 auto;border: 1px solid #EBEDEF;}
+.contone>h4{margin: 0;width:70%;height: 70px;display: inline-block;padding-left: 15px;padding-right: 30px;font-weight: normal;
+line-height: 70px;cursor: pointer;overflow: hidden;}
+.contone>p{margin: 0;width:30%;height: 70px;display: inline-block;padding-right: 15px;padding-right: 30px;overflow: hidden;}
+.contone>h4>span{color:#D60000;}
+.contone>p>span>span{color:#D60000;}
+.contone{width: 100%;height:70px;line-height:70px;color:#818080;
+display: flex;justify-content: space-between;background-color: #fff;}
+.contone:nth-child(even){background-color: #F9F9F9;}
+.title{width:1200px;margin:0 auto;height:50px;line-height: 50px;color:#707070;}
+.line1{text-align: justify;text-overflow: ellipsis;overflow: hidden;/*display: -webkit-box;*/-webkit-box-orient: vertical; -webkit-line-clamp: 1;}
+.key{width:300px;}
+.noLength{color:#4d4d4d;font-size: 18px;float:left;margin: 30px 0 0 10px;}
+
+.pagination_box{clear: both;overflow: hidden; width: 1200px;
+margin: 0 auto;line-height: 74px;display: none;}
+.clearfix{clear: both;}
+.pagination_box nav {
+    float: right;
+}
+.inp{
+    float: right; display: none;
+}
+.list_none {
+    width: 550px;
+    height: 150px;
+    background: url("../../img/all_null.png") no-repeat;
+    margin: 50px auto;
+}
+.inp input{
+    width:40px;
+    height: 35px;
+    text-align: center;
+    border-radius: 5px;
+    border:1px solid #ccc;
+}
+.inp button{
+    margin: 0 10px;
+    margin-top:-5px;
+    width: 50px;
+}
+.pagination_box ul li a {
+    color: #333
+}
+
+.pagination_box .pagination {
+    float: right;
+    margin-right: 20px;
+}
+
+.pagination_box .totalCount {
+    float: right;
+    display: inline-block;
+    margin-right: 15px;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 7 - 7
src/js/index.js

@@ -1,6 +1,5 @@
 import '../css/bootstrap.less';
 import 'bootstrap/dist/js/bootstrap.js';
-
 import '../css/newMenu/public.css'; 
 import '../css/newMenu/header.css'; 
 import '../css/index_home.css';
@@ -18,12 +17,13 @@ import './jquery-2.1.0.js';
 	$(".indexImg1").click(function(){
 		var seachon=$(".indexSeach_one>ul>li.indexActive").index();
 		var key=$(this).siblings('div').children().val();
-		switch(seachon){
-			case 0:window.open(globalConfig.context + `/portal/technologyTrading/achievementList.html?name=${key}`);break;
-			case 1:window.open(globalConfig.context + `/portal/technologyTrading/demandList.html?name=${key}`);break;
-			case 2:window.open(globalConfig.context + `/portal/thinkTank/policyList?name=${key}`);break;
-			default :break;
-		}
+		console.log(key);
+//		switch(seachon){
+//			case 0:window.open(globalConfig.context + `/portal/technologyTrading/achievementList.html?name=${key}`);break;
+//			case 1:window.open(globalConfig.context + `/portal/technologyTrading/demandList.html?name=${key}`);break;
+//			case 2:window.open(globalConfig.context + `/portal/thinkTank/policyList?name=${key}`);break;
+//			default :break;
+//		}
 	})
 	//申请会员
 	$(".indexImg2").click(function(){

+ 11 - 9
src/js/newMenu/index.js

@@ -25,15 +25,17 @@ import 'js/public.js';
 	})
 	//搜索功能
 	$(".searchBtn").click(function(){
-		var seachon=$(".jumpType li.active").index();
+		//var seachon=$(".jumpType li.active").index();
 		var key=$('.demandSearch').val();
-		switch(seachon){
-			case 0:window.open(globalConfig.context + `/portal/technologyTrading/achievementList.html?name=${key}`);break;
-			case 1:window.open(globalConfig.context + `/portal/technologyTrading/demandList.html?name=${key}`);break;
-            case 2:window.open(globalConfig.context + `/portal/service/patentList?name=${key}`);break;
-            case 3:window.open(globalConfig.context + `/portal/thinkTank/policyList?name=${key}`);break;
-            case 4:window.open(globalConfig.context + `/portal/service/serviceList?name=${key}`);break;
-			default :break;
-		}
+		sessionStorage.setItem("name",key);
+		window.open(globalConfig.context + `/portal/search.html`);
+//		switch(seachon){
+//			case 0:window.open(globalConfig.context + `/portal/technologyTrading/achievementList.html?name=${key}`);break;
+//			case 1:window.open(globalConfig.context + `/portal/technologyTrading/demandList.html?name=${key}`);break;
+//          case 2:window.open(globalConfig.context + `/portal/service/patentList?name=${key}`);break;
+//          case 3:window.open(globalConfig.context + `/portal/thinkTank/policyList?name=${key}`);break;
+//          case 4:window.open(globalConfig.context + `/portal/service/serviceList?name=${key}`);break;
+//			default :break;
+//		}
 	})
 }())

+ 215 - 0
src/js/search.js

@@ -0,0 +1,215 @@
+import '../css/bootstrap.less';
+import 'bootstrap/dist/js/bootstrap.js';
+import '../css/newMenu/public.css'; 
+import '../css/newMenu/header.css'; 
+import '../css/search.css';
+import './public.js';
+import './jquery-2.1.0.js';
+
+$(function(){
+	//从地址栏中获取参数
+	function GetQueryString(name){
+     	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
+     	var r = window.location.search.substr(1).match(reg);
+     	if(r!=null)return  unescape(r[2]); return null;
+	}
+	var name=sessionStorage.getItem("name");
+	sessionStorage.removeItem("name");
+	var pageSize = 10,
+		thePageNo = 1,
+		thePageLength = 1,
+		noLength=`<div class="noLength">没有找到您搜索的内容...</div>`;
+		init();
+    function init() {
+        pages();
+        inpFun();
+        loadDate();
+        $('.onSelect .preFirst').css('display', 'none')
+        $('.onSelect .next').css('display', 'none')
+    };
+	function loadDate(pageNo) {
+		$.ajax({
+            method: "get",
+            dataType: "json",
+            url: globalConfig.context + "/portal/globalSearch",
+            data: {
+            	pageNo: pageNo || 1,
+            	pageSize: 10,
+                name:name
+            },
+            success: function (data) {
+                if (data.error && data.error.length) {
+                    msg(data.error[0].message);
+                }else if(data.error==""){
+                	console.log(data);
+                    var contHtml="";
+                    var dataList=data.data.list;
+                    if(dataList.length){
+                    	console.log(dataList);
+                    	for(var a=0;a<dataList.length;a++){
+                    		var titleHtml="";
+                    		var keyHtml="";
+                    		var titleData=dataList[a].title.split(name);
+                    		var keyData=dataList[a].keyword.split(name);
+                    		if(titleData.length==1&&titleData[0]==""){
+                    			
+                    		}else{
+                    			if(titleData.length>1){
+                    				for(var b=0;b<titleData.length-1;b++){
+                    					titleHtml+=`${titleData[b]}<span>${name}</span>`;
+                    				}
+                    				titleHtml+=`${titleData[titleData.length-1]}`;
+                    			}else if(titleData[0]!=""){
+                    				titleHtml=`${titleData[0]}`;
+                    			}
+                    		}
+                    		if(keyData.length==1&&keyData[0]==""){
+                    			
+                    		}else{
+                    			if(keyData.length>1){
+                    				for(var c=0;c<keyData.length-1;c++){
+                    					keyHtml+=`${keyData[c]}<span>${name}</span>`;
+                    				}
+                    				keyHtml+=`${keyData[titleData.length-1]}`;
+                    			}else if(keyData[0]!=""){
+                    				keyHtml=`${keyData[0]}`;
+                    			}
+                    		}
+                    		console.log(titleData);
+                    		console.log(keyData);
+                    		contHtml+=`<div class="contone">
+											<h4 class="line1">${titleHtml}</h4>
+											<p >
+												<span>关键字:</span>
+												<span class="line1 key">${keyHtml}</span>
+											</p>
+											<input type="hidden" dataType="${dataList[a].fromTable}" dataId="${dataList[a].rowId}"/>
+										</div>`;
+                    	}
+                     $(".cont").html(contHtml);
+                     
+                    }else{
+                    	$(".cont").html(noLength);
+                    }
+                }else{
+                    return;
+                }
+           
+            //分页部分的处理
+            $('.pagination_box').css('display', 'block');
+                $('.inp').css('display', 'block');
+                if (data.data.list.length === 0) {
+                    $('.achievementHot .hotList').html("<div class='list_none'></div>");
+                    $('.pagination_box').css('display', 'none')
+                    $('.inp').css('display', 'none');
+                };
+                thePageLength = data.data.totalCount ? Math.ceil(data.data.totalCount / pageSize) : 1;
+                $('.totalCount').html(`共${data.data.totalCount}条数据 ${thePageLength}页`)
+                var pageArr = [],
+                    firstNo = 1,
+                    endNo = 5;
+                if (thePageNo > 3) {
+                    firstNo = thePageNo - 2;
+                    endNo = Math.min((Number(thePageNo) + 2), thePageLength);
+                } else {
+                    endNo = Math.min(thePageLength, 5);
+                };
+                for (let i = firstNo; i <= endNo; i++) {
+                    if (i == thePageNo) {
+                        pageArr.push(
+                            '<li class="pageNumber active"><a href="#" value=' + i + ' >' + i + '</a></li>'
+                        );
+                    } else {
+                        pageArr.push(
+                            '<li class="pageNumber"><a href="#" value=' + i + ' >' + i + '</a></li>'
+                        );
+                    }
+                };
+                $('.pageNumber').remove();
+                $('.pagePre').after(pageArr.join(''));
+            }
+         });
+	}
+	
+	
+	//标题点击事件
+	$(".cont").on("click","h4",function(){
+		var dataType=$(this).siblings("input").attr("dataType");
+		var dataId=$(this).siblings("input").attr("dataId");
+		switch(dataType){
+			case "achievement":window.open(globalConfig.context + `/portal/technologyTrading/achievementDetail.html?id=${dataId}`);break;//成果
+			case "demand":window.open(globalConfig.context + `/portal/technologyTrading/demandDetail.html?id=${dataId}`);break;//需求
+            case "patent":window.open(globalConfig.context + `/portal/service/patentDetail?id=${dataId}`);break;//专利
+            case "policy":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}&type=0`);break;//政策
+            case "jt_business_project":window.open(globalConfig.context + `/portal/service/serviceDetail?id=${dataId}`);break;//项目
+			case "news":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}`);break;//新闻
+			case "expert":window.open(globalConfig.context + `/portal/subscriberDetail?id=${dataId}&type=1`);break;//专家
+			case "adviser":window.open(globalConfig.context + `/portal/adviser/adviserDetail?id=${dataId}`);break;//顾问
+			default :break;
+		}
+	})
+	//f分页
+    function pages() {
+        $('.pagination').on('click', 'li', function (e) {
+            e.preventDefault();
+            if (this.className === 'pagePre') {
+                if (thePageNo > 1) {
+                    thePageNo = 1;
+                    loadDate(thePageNo);
+                }
+            } else if (this.className === 'pageNext') {
+                if (thePageNo < thePageLength) {
+                    thePageNo = thePageLength;
+                    loadDate(thePageNo);
+                }
+            } else {
+                var nextPageNo = $(this).children()[0].text;
+                if (thePageNo != nextPageNo) {
+                    $(this).siblings("li").removeClass("active");
+                    $(this).addClass("active");
+                    thePageNo = nextPageNo;
+                    loadDate(thePageNo);
+                };
+            };
+        });
+    }
+    //输入跳转
+    function inpFun() {
+        $('.inp .btn').on('click', function () {
+            let val = $(this).siblings().val();
+            if (!isNaN(val) && val <= thePageLength && val > 0) {
+                thePageNo = val;
+                loadDate(thePageNo);
+            }else{
+                msg('请输入正确页码')
+            }
+        })
+    }
+})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 60 - 0
template/search.html

@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<title></title>
+		<!--<link rel="stylesheet" href="../src/css/search.css" />-->
+	</head>
+	<body>
+		 <div class="carousel">
+	        <img src="../img/patent/patent_banner.jpg" alt="First slide">
+	    </div>
+	    <div class="title">
+	    	为您找到下列符合条件的信息:
+	    </div>
+		<div class="cont">
+			<div class="contone">
+				<h4>高企认定</h4>
+				<p>
+					<span>关键字:</span>
+					<span>我肤色服务而非,复健科覅及,二个人股份</span>
+				</p>
+			</div>
+			<div class="contone">
+				<h4>高企认定</h4>
+				<p>
+					<span>关键字:</span>
+					<span>我肤色服务而非,复健科覅及,二个人股份</span>
+				</p>
+			</div>
+			<div class="contone">
+				<h4>高企认定</h4>
+				<p>
+					<span>关键字:</span>
+					<span>我肤色服务而非,复健科覅及,二个人股份</span>
+				</p>
+			</div>
+		</div>
+		<div class="pagination_box">
+            <nav aria-label="Page navigation" class="clearfix">
+                <ul class="pagination">
+                    <li class="pagePre">
+                        <a href="#" aria-label="Previous">
+                            <span aria-hidden="true">&laquo;</span>
+                        </a>
+                    </li>
+                    <li class="pageNumber"><a href="#" value="1">1</a></li>
+                    <li class="pageNext">
+                        <a href="#" aria-label="Next">
+                            <span aria-hidden="true">&raquo;</span>
+                        </a>
+                    </li>
+                </ul>
+                <div class="inp">
+                    <input type="text" class=""><button class="btn btn-default">跳转</button>
+                </div>
+                <span class="totalCount">共0条数据</span>
+            </nav>
+        </div>
+	</body>
+</html>

+ 7 - 1
webpack.config.js

@@ -35,6 +35,12 @@ module.exports = (function () {
             template: './template/index.html',
             chunks: ['index', 'vendors']
         }),
+        new HtmlWebpackPlugin({
+            title: '搜索页',
+            filename: 'html/search.html',
+            template: './template/search.html',
+            chunks: ['search', 'vendors']
+        }),
         // new HtmlWebpackPlugin({
         //     title: '支付跳转页面',
         //     filename: 'html/toPayment.html',
@@ -394,7 +400,7 @@ module.exports = (function () {
             disableHostCheck: true,
             host: '192.168.0.190',
             port: 80,
-            allowedHosts: ['127.0.0.1','192.168.0.99'],
+            allowedHosts: ['192.168.0.190','192.168.0.99'],
             headers: {
                 "Access-Control-Allow-Origin": "*"
             }

+ 5 - 0
webpack/entry.config.js

@@ -1,6 +1,7 @@
 module.exports = {
     prod: {
         'index': './src/js/newMenu/index.js',
+        'search': './src/js/search.js',
         'aboutUs': './src/js/aboutUs.js',
         // 'APPaboutUs': './src/js/APPaboutUs.js',
         'contactUs': './src/js/contactUs.js',
@@ -61,6 +62,10 @@ module.exports = {
             'webpack/hot/only-dev-server',
             './src/js/newMenu/index.js'
         ],
+        'search': ['webpack-dev-server/client?http://192.168.0.190', // WebpackDevServer host and port
+            'webpack/hot/only-dev-server',
+            './src/js/search.js'
+        ],
          'aboutUs': ['webpack-dev-server/client?http://192.168.0.190', // WebpackDevServer host and port
             'webpack/hot/only-dev-server',
             './src/js/aboutUs.js'