search.js 8.0 KB

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