search.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. // import '../css/bootstrap.less';
  2. // import 'bootstrap/dist/js/bootstrap.js';
  3. import '../css/newMenu/public.css';
  4. import '../css/newMenu/header.css';
  5. import '../css/search.css';
  6. import './public.js';
  7. import './jquery-2.1.0.js';
  8. $(function(){
  9. //从地址栏中获取参数
  10. function GetQueryString(name){
  11. var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  12. var r = window.location.search.substr(1).match(reg);
  13. if(r!=null)return unescape(r[2]); return null;
  14. }
  15. var name=sessionStorage.getItem("name");
  16. sessionStorage.removeItem("name");
  17. var pageSize = 10,
  18. thePageNo = 1,
  19. thePageLength = 1,
  20. noLength=`<div class="noLength">没有找到您搜索的内容...</div>`;
  21. init();
  22. function init() {
  23. pages();
  24. inpFun();
  25. loadDate();
  26. $('.onSelect .preFirst').css('display', 'none')
  27. $('.onSelect .next').css('display', 'none')
  28. };
  29. function loadDate(pageNo) {
  30. $.ajax({
  31. method: "get",
  32. dataType: "json",
  33. url: globalConfig.context + "/portal/globalSearch",
  34. data: {
  35. pageNo: pageNo || 1,
  36. pageSize: 10,
  37. name:name
  38. },
  39. success: function (data) {
  40. if (data.error && data.error.length) {
  41. msg(data.error[0].message);
  42. }else if(data.error==""){
  43. var contHtml="";
  44. var dataList=data.data.list;
  45. if(dataList.length){
  46. for(var a=0;a<dataList.length;a++){
  47. var titleHtml="";
  48. var keyHtml="";
  49. var titleData=dataList[a].title?dataList[a].title.split(name):"";
  50. var keyData=dataList[a].keyword?dataList[a].keyword.split(name):"";
  51. //标题的红色处理
  52. if((titleData.length==1&&titleData[0]=="")||titleData==""){
  53. }else{
  54. if(titleData.length>1){
  55. for(var b=0;b<titleData.length-1;b++){
  56. titleHtml+=`${titleData[b]}<span>${name}</span>`;
  57. }
  58. titleHtml+=`${titleData[titleData.length-1]}`;
  59. }else if(titleData[0]!=""){
  60. titleHtml=`${titleData[0]}`;
  61. }
  62. }
  63. //关键字的红色处理
  64. if((keyData.length==1&&keyData[0]=="")||keyData==""){
  65. }else{
  66. if(keyData.length>1){
  67. for(var c=0;c<keyData.length-1;c++){
  68. keyHtml+=`${keyData[c]}<span>${name}</span>`;
  69. }
  70. keyHtml+=`${keyData[keyData.length-1]}`;
  71. }else if(keyData[0]!=""){
  72. keyHtml=`${keyData[0]}`;
  73. }
  74. }
  75. contHtml+=`<div class="contone">
  76. <h4 class="line1">${titleHtml}</h4>
  77. <p class="line1">
  78. <span>关键字:</span>
  79. <span class="key">${keyHtml}</span>
  80. </p>
  81. <input type="hidden" dataType="${dataList[a].fromTable}" dataId="${dataList[a].rowId}"/>
  82. </div>`;
  83. }
  84. $(".cont").html(contHtml);
  85. }else{
  86. $(".cont").html(noLength);
  87. }
  88. }else{
  89. return;
  90. }
  91. //分页部分的处理
  92. $('.pagination_box').css('display', 'block');
  93. $('.inp').css('display', 'block');
  94. if (data.data.list.length === 0) {
  95. $('.achievementHot .hotList').html("<div class='list_none'></div>");
  96. $('.pagination_box').css('display', 'none')
  97. $('.inp').css('display', 'none');
  98. };
  99. thePageLength = data.data.totalCount ? Math.ceil(data.data.totalCount / pageSize) : 1;
  100. $('.totalCount').html(`共${data.data.totalCount}条数据 ${thePageLength}页`)
  101. var pageArr = [],
  102. firstNo = 1,
  103. endNo = 5;
  104. if (thePageNo > 3) {
  105. firstNo = thePageNo - 2;
  106. endNo = Math.min((Number(thePageNo) + 2), thePageLength);
  107. } else {
  108. endNo = Math.min(thePageLength, 5);
  109. };
  110. for (let i = firstNo; i <= endNo; i++) {
  111. if (i == thePageNo) {
  112. pageArr.push(
  113. '<li class="pageNumber active"><a href="#" value=' + i + ' >' + i + '</a></li>'
  114. );
  115. } else {
  116. pageArr.push(
  117. '<li class="pageNumber"><a href="#" value=' + i + ' >' + i + '</a></li>'
  118. );
  119. }
  120. };
  121. $('.pageNumber').remove();
  122. $('.pagePre').after(pageArr.join(''));
  123. }
  124. });
  125. }
  126. //标题点击事件
  127. $(".cont").on("click","h4",function(){
  128. var dataType=$(this).siblings("input").attr("dataType");
  129. var dataId=$(this).siblings("input").attr("dataId");
  130. switch(dataType){
  131. case "achievement":window.open(globalConfig.context + `/portal/technologyTrading/achievementDetail.html?id=${dataId}`);break;//成果
  132. case "demand":window.open(globalConfig.context + `/portal/technologyTrading/demandDetail.html?id=${dataId}`);break;//需求
  133. case "patent":window.open(globalConfig.context + `/portal/service/patentDetail?id=${dataId}`);break;//专利
  134. case "policy":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}&type=0`);break;//政策
  135. case "jt_business_project":window.open(globalConfig.context + `/portal/service/serviceDetail?id=${dataId}`);break;//项目
  136. case "news":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}`);break;//新闻
  137. case "expert":window.open(globalConfig.context + `/portal/subscriberDetail?uid=${dataId}&type=1`);break;//专家
  138. case "adviser":window.open(globalConfig.context + `/portal/adviser/adviserDetail?id=${dataId}`);break;//顾问
  139. default :break;
  140. }
  141. })
  142. //f分页
  143. function pages() {
  144. $('.pagination').on('click', 'li', function (e) {
  145. e.preventDefault();
  146. if (this.className === 'pagePre') {
  147. if (thePageNo > 1) {
  148. thePageNo = 1;
  149. loadDate(thePageNo);
  150. }
  151. } else if (this.className === 'pageNext') {
  152. if (thePageNo < thePageLength) {
  153. thePageNo = thePageLength;
  154. loadDate(thePageNo);
  155. }
  156. } else {
  157. var nextPageNo = $(this).children()[0].text;
  158. if (thePageNo != nextPageNo) {
  159. $(this).siblings("li").removeClass("active");
  160. $(this).addClass("active");
  161. thePageNo = nextPageNo;
  162. loadDate(thePageNo);
  163. };
  164. };
  165. });
  166. }
  167. //输入跳转
  168. function inpFun() {
  169. $('.inp .btn').on('click', function () {
  170. let val = $(this).siblings().val();
  171. if (!isNaN(val) && val <= thePageLength && val > 0) {
  172. thePageNo = val;
  173. loadDate(thePageNo);
  174. }else{
  175. msg('请输入正确页码')
  176. }
  177. })
  178. }
  179. /* 提示 */
  180. //提示框渐隐函数
  181. function msg(txt) {
  182. if($('.smg').hasClass('active')){
  183. return ;
  184. }
  185. $('.smg').addClass('active');
  186. var lit = $('#msg').val(txt);
  187. setTimeout(function () {
  188. $('.smg').removeClass('active');
  189. $('#msg').val('');
  190. }, 2000)
  191. }
  192. })