search.js 7.9 KB

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