search.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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. console.log(dataList);
  46. if(dataList.length){
  47. for(var a=0;a<dataList.length;a++){
  48. var titleHtml="";
  49. var keyHtml="";
  50. var titleData=dataList[a].title?dataList[a].title.split(name):"";
  51. var keyData=dataList[a].keyword?dataList[a].keyword.split(name):"";
  52. //标题的红色处理
  53. if((titleData.length==1&&titleData[0]=="")||titleData==""){
  54. }else{
  55. if(titleData.length>1){
  56. for(var b=0;b<titleData.length-1;b++){
  57. titleHtml+=`${titleData[b]}<span>${name}</span>`;
  58. }
  59. titleHtml+=`${titleData[titleData.length-1]}`;
  60. }else if(titleData[0]!=""){
  61. titleHtml=`${titleData[0]}`;
  62. }
  63. }
  64. //关键字的红色处理
  65. if((keyData.length==1&&keyData[0]=="")||keyData==""){
  66. }else{
  67. if(keyData.length>1){
  68. for(var c=0;c<keyData.length-1;c++){
  69. keyHtml+=`${keyData[c]}<span>${name}</span>`;
  70. }
  71. keyHtml+=`${keyData[keyData.length-1]}`;
  72. }else if(keyData[0]!=""){
  73. keyHtml=`${keyData[0]}`;
  74. }
  75. }
  76. console.log(keyData);
  77. console.log(keyHtml);
  78. contHtml+=`<div class="contone">
  79. <h4 class="line1">${titleHtml}</h4>
  80. <p class="line1">
  81. <span>关键字:</span>
  82. <span class="key">${keyHtml}</span>
  83. </p>
  84. <input type="hidden" dataType="${dataList[a].fromTable}" dataId="${dataList[a].rowId}"/>
  85. </div>`;
  86. }
  87. $(".cont").html(contHtml);
  88. }else{
  89. $(".cont").html(noLength);
  90. }
  91. }else{
  92. return;
  93. }
  94. //分页部分的处理
  95. $('.pagination_box').css('display', 'block');
  96. $('.inp').css('display', 'block');
  97. if (data.data.list.length === 0) {
  98. $('.achievementHot .hotList').html("<div class='list_none'></div>");
  99. $('.pagination_box').css('display', 'none')
  100. $('.inp').css('display', 'none');
  101. };
  102. thePageLength = data.data.totalCount ? Math.ceil(data.data.totalCount / pageSize) : 1;
  103. $('.totalCount').html(`共${data.data.totalCount}条数据 ${thePageLength}页`)
  104. var pageArr = [],
  105. firstNo = 1,
  106. endNo = 5;
  107. if (thePageNo > 3) {
  108. firstNo = thePageNo - 2;
  109. endNo = Math.min((Number(thePageNo) + 2), thePageLength);
  110. } else {
  111. endNo = Math.min(thePageLength, 5);
  112. };
  113. for (let i = firstNo; i <= endNo; i++) {
  114. if (i == thePageNo) {
  115. pageArr.push(
  116. '<li class="pageNumber active"><a href="#" value=' + i + ' >' + i + '</a></li>'
  117. );
  118. } else {
  119. pageArr.push(
  120. '<li class="pageNumber"><a href="#" value=' + i + ' >' + i + '</a></li>'
  121. );
  122. }
  123. };
  124. $('.pageNumber').remove();
  125. $('.pagePre').after(pageArr.join(''));
  126. }
  127. });
  128. }
  129. //标题点击事件
  130. $(".cont").on("click","h4",function(){
  131. var dataType=$(this).siblings("input").attr("dataType");
  132. var dataId=$(this).siblings("input").attr("dataId");
  133. switch(dataType){
  134. case "achievement":window.open(globalConfig.context + `/portal/technologyTrading/achievementDetail.html?id=${dataId}`);break;//成果
  135. case "demand":window.open(globalConfig.context + `/portal/technologyTrading/demandDetail.html?id=${dataId}`);break;//需求
  136. case "patent":window.open(globalConfig.context + `/portal/service/patentDetail?id=${dataId}`);break;//专利
  137. case "policy":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}&type=0`);break;//政策
  138. case "jt_business_project":window.open(globalConfig.context + `/portal/service/serviceDetail?id=${dataId}`);break;//项目
  139. case "news":window.open(globalConfig.context + `/portal/news/newsDetail?id=${dataId}`);break;//新闻
  140. case "expert":window.open(globalConfig.context + `/portal/subscriberDetail?uid=${dataId}&type=1`);break;//专家
  141. case "adviser":window.open(globalConfig.context + `/portal/adviser/adviserDetail?id=${dataId}`);break;//顾问
  142. default :break;
  143. }
  144. })
  145. //f分页
  146. function pages() {
  147. $('.pagination').on('click', 'li', function (e) {
  148. e.preventDefault();
  149. if (this.className === 'pagePre') {
  150. if (thePageNo > 1) {
  151. thePageNo = 1;
  152. loadDate(thePageNo);
  153. }
  154. } else if (this.className === 'pageNext') {
  155. if (thePageNo < thePageLength) {
  156. thePageNo = thePageLength;
  157. loadDate(thePageNo);
  158. }
  159. } else {
  160. var nextPageNo = $(this).children()[0].text;
  161. if (thePageNo != nextPageNo) {
  162. $(this).siblings("li").removeClass("active");
  163. $(this).addClass("active");
  164. thePageNo = nextPageNo;
  165. loadDate(thePageNo);
  166. };
  167. };
  168. });
  169. }
  170. //输入跳转
  171. function inpFun() {
  172. $('.inp .btn').on('click', function () {
  173. let val = $(this).siblings().val();
  174. if (!isNaN(val) && val <= thePageLength && val > 0) {
  175. thePageNo = val;
  176. loadDate(thePageNo);
  177. }else{
  178. msg('请输入正确页码')
  179. }
  180. })
  181. }
  182. /* 提示 */
  183. //提示框渐隐函数
  184. function msg(txt) {
  185. if($('.smg').hasClass('active')){
  186. return ;
  187. }
  188. $('.smg').addClass('active');
  189. var lit = $('#msg').val(txt);
  190. setTimeout(function () {
  191. $('.smg').removeClass('active');
  192. $('#msg').val('');
  193. }, 2000)
  194. }
  195. })