Browse Source

即时搜索模块更新

master
wangyi15124 1 year ago
parent
commit
04937470d6
28 changed files with 7704 additions and 14 deletions
  1. +44
    -0
      initialize_db_cache.sh
  2. +9
    -0
      pom.xml
  3. +419
    -0
      src/main/java/com/stonedt/intelligence/controller/TimelySearchController.java
  4. +18
    -0
      src/main/java/com/stonedt/intelligence/dao/TimelysearchDao.java
  5. +93
    -0
      src/main/java/com/stonedt/intelligence/entity/TimelyPolymerization.java
  6. +15
    -0
      src/main/java/com/stonedt/intelligence/service/TimelysearchService.java
  7. +40
    -0
      src/main/java/com/stonedt/intelligence/service/impl/TimelysearchServiceImpl.java
  8. +32
    -0
      src/main/java/com/stonedt/intelligence/util/TxtUtil.java
  9. +75
    -0
      src/main/java/com/stonedt/intelligence/websocket/MyWebSocketClient.java
  10. +80
    -0
      src/main/java/com/stonedt/intelligence/websocket/WebSocketUtils.java
  11. +29
    -0
      src/main/resources/mapper/TimelysearchMapper.xml
  12. +14
    -9
      src/main/resources/static/dist/search_left.js
  13. +542
    -0
      src/main/resources/static/dist/timelysearch/monitorsearch.js
  14. +0
    -0
      src/main/resources/static/dist/timelysearch/search_result.js
  15. +2775
    -0
      src/main/resources/static/dist/timelysearch/search_result_data.js
  16. +5
    -5
      src/main/resources/templates/common/header.html
  17. +266
    -0
      src/main/resources/templates/timely_search/fullSearch.html
  18. +221
    -0
      src/main/resources/templates/timely_search/full_search.html
  19. +166
    -0
      src/main/resources/templates/timely_search/search_bidding_detail.html
  20. +384
    -0
      src/main/resources/templates/timely_search/search_company_detail.html
  21. +873
    -0
      src/main/resources/templates/timely_search/search_detail.html
  22. +253
    -0
      src/main/resources/templates/timely_search/search_investment_detail.html
  23. +181
    -0
      src/main/resources/templates/timely_search/search_invite_detail.html
  24. +169
    -0
      src/main/resources/templates/timely_search/search_judgment_detail.html
  25. +172
    -0
      src/main/resources/templates/timely_search/search_knowledge_detail.html
  26. +211
    -0
      src/main/resources/templates/timely_search/search_report_detail.html
  27. +422
    -0
      src/main/resources/templates/timely_search/search_result.html
  28. +196
    -0
      src/main/resources/templates/timely_search/search_thesisn_detail.html

+ 44
- 0
initialize_db_cache.sh
File diff suppressed because it is too large
View File


+ 9
- 0
pom.xml View File

@@ -212,6 +212,15 @@
<artifactId>hanlp</artifactId>
<version>portable-1.8.2</version>
</dependency>
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.3.8</version>
</dependency>
</dependencies>


+ 419
- 0
src/main/java/com/stonedt/intelligence/controller/TimelySearchController.java View File

@@ -0,0 +1,419 @@
package com.stonedt.intelligence.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.stonedt.intelligence.aop.SystemControllerLog;
import com.stonedt.intelligence.entity.FullPolymerization;
import com.stonedt.intelligence.entity.FullType;
import com.stonedt.intelligence.entity.FullWord;
import com.stonedt.intelligence.entity.TimelyPolymerization;
import com.stonedt.intelligence.entity.User;
import com.stonedt.intelligence.service.FullSearchService;
import com.stonedt.intelligence.service.TimelysearchService;
import com.stonedt.intelligence.util.DateUtil;
import com.stonedt.intelligence.util.TxtUtil;
import com.stonedt.intelligence.util.UserUtil;
import com.stonedt.intelligence.vo.FullSearchParam;
import com.stonedt.intelligence.websocket.WebSocketUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 全文搜索控制器
*/
@Controller
@RequestMapping(value = "/timelysearch")
public class TimelySearchController {
@Value("${xmlFilePath}")
private String xmlPath;
@Autowired
private FullSearchService fullSearchService;
@Autowired
private TimelysearchService searchearchService;
@Autowired
UserUtil userUtil;
/**
* 全文搜索页面
*/
@SystemControllerLog(module = "全文搜索", submodule = "全文搜索", type = "全文搜索页面", operation = "search")
@GetMapping(value = "")
public String search(Integer full_poly, @RequestParam(defaultValue = "1") Integer full_type, Model model) {
model.addAttribute("fulltype", full_type);
model.addAttribute("full_poly", full_poly);
model.addAttribute("menu", "full_search");
return "timely_search/full_search";
}
/**
* 全文搜索结果页面
*/
@GetMapping(value = "/result")
@SystemControllerLog(module = "全文搜索", submodule = "搜索结果", type = "查询", operation = "result")
public String result(@RequestParam(value = "menuStyle", required = false, defaultValue = "1") Integer menuStyle,
@RequestParam(value = "pageSize", required = false, defaultValue = "50") Integer pageSize,
Integer full_poly, String fulltype, @RequestParam(value = "keyword", required = false, defaultValue = "疫情")String keyword,
String sourcename, Integer page, Model model,
HttpServletRequest request,
@RequestParam(value = "website_id", required = false, defaultValue = "0") String website_id,
@RequestParam(value = "stype", required = false, defaultValue = "1") String stype,
@RequestParam(value = "pageNoData", required = false, defaultValue = "1") String pageNoData) {
model.addAttribute("searchWord", keyword);//搜索关键词
model.addAttribute("page", page);
model.addAttribute("source_name", sourcename);
model.addAttribute("fulltype", fulltype);//搜索引擎类型
model.addAttribute("full_poly", full_poly);
model.addAttribute("menuStyle", menuStyle);
model.addAttribute("website_id", website_id);
model.addAttribute("stype", stype);
model.addAttribute("pageNoData", pageNoData);
model.addAttribute("pageSize", pageSize);
model.addAttribute("menu", "full_search");
//将搜索的词存到数据库
User user = userUtil.getuser(request);
String user_id = String.valueOf(user.getUser_id());
String create_time = DateUtil.getNowTime();
if (!keyword.equals("")) {
FullWord fullWord = new FullWord();
fullWord.setUser_id(Long.valueOf(user_id));
fullWord.setCreate_time(create_time);
fullWord.setSearch_word(keyword);
boolean result = fullSearchService.saveFullWord(fullWord);
}
return "timely_search/search_result";
}
/**
* 资讯数据列表
*/
// @SystemControllerLog(module = "全文搜索", submodule = "资讯列表", type = "查询", operation = "informationList")
// @GetMapping(value = "/informationList")
// public @ResponseBody
// JSONObject informationList(FullSearchParam informationListParam) {
//
//
// JSONObject informationList = fullSearchService.informationList(informationListParam);
//
// return informationList;
// }
/**
* 资讯数据列表
*/
// @SystemControllerLog(module = "全文搜索", submodule = "资讯列表", type = "查询", operation = "informationList1")
// @PostMapping(value = "/informationListpost")
// public @ResponseBody
// JSONObject informationList1(@RequestBody FullSearchParam informationListParam) {
//
//
// informationListParam.setMatchType(1);
// informationListParam.setSortType(1);
// informationListParam.setMergeType(0);
//
// JSONObject informationList = fullSearchService.informationListSearch(informationListParam);
//
// return informationList;
// }
/**
* @param [articleid, groupid, projectid, menu, mv]
* @return org.springframework.web.servlet.ModelAndView
* @description: 跳转 资讯文章详情页面 <br>
* @version: 1.0 <br>
* @date: 2020/4/13 14:32 <br>
* @author: huajiancheng <br>
*/
// @SystemControllerLog(module = "全文搜索", submodule = "资讯文章详情", type = "查询", operation = "thesisnDetail")
// @GetMapping(value = "/detail/{articleid}")
// public ModelAndView skiparticle(@PathVariable() String articleid,
// String groupid, String projectid, String relatedWord,
// String menu, String page, ModelAndView mv,
// String menuStyle, String fulltype,
// String fullpoly, String searchWord,String publish_time,
// HttpServletRequest request) {
// if (StringUtils.isBlank(groupid)) groupid = "";
// if (StringUtils.isBlank(projectid)) projectid = "";
// if (StringUtils.isBlank(articleid)) articleid = "";
// if (StringUtils.isBlank(relatedWord)) relatedWord = "";
// if (StringUtils.isBlank(publish_time)) publish_time = "";
// if (StringUtils.isBlank(menu)) menu = "full_search";
// mv.addObject("menuStyle", menuStyle);
// mv.addObject("full_poly", fullpoly);
// mv.addObject("fulltype", fulltype);
// mv.addObject("searchWord", searchWord);
// mv.addObject("publish_time", publish_time);
// mv.addObject("articleid", articleid);
// mv.addObject("groupid", groupid);
// mv.addObject("projectid", projectid);
// mv.addObject("relatedword", relatedWord);
// mv.addObject("menu", "full_search");
// mv.setViewName("search/search_detail");
// return mv;
// }
/**
* 获取一级菜单
*
* @return
*/
// @GetMapping("listFullTypeByFirst")
// public @ResponseBody
// List<FullType> listFullTypeByFirst() {
// List<FullType> listFullTypeByFirst = fullSearchService.listFullTypeByFirst();
// return listFullTypeByFirst;
// }
/**
* 获取二级菜单
*
* @param type_one_id
* @return
*/
// @GetMapping("listFullTypeBySecond")
// public @ResponseBody
// List<FullType> listFullTypeBysecond(Integer type_one_id) {
// List<FullType> listFullTypeBysecond = fullSearchService.listFullTypeBysecond(type_one_id);
// return listFullTypeBysecond;
// }
/**
* 获取三级菜单
*
* @param type_one_id
* @return
*/
// @GetMapping("listFullTypeByThird")
// public @ResponseBody
// List<FullType> listFullTypeBythird(Integer type_two_id) {
// List<FullType> listFullTypeBythird = fullSearchService.listFullTypeBythird(type_two_id);
// return listFullTypeBythird;
// }
/**
* 获取聚合分类
*
* @return
*/
@GetMapping("listFullPolymerization")
public @ResponseBody
List<TimelyPolymerization> listFullPolymerization() {
return searchearchService.listFullPolymerization();
}
// /**
// * @return
// */
// @GetMapping("getBreadCrumbs")
// public @ResponseBody
// JSONObject getBreadCrumbs(Integer menuStyle, Integer fulltype, Integer onlyid, Integer polyid) {
// return fullSearchService.getBreadCrumbs(menuStyle, fulltype, onlyid, polyid);
// }
//
// /**
// * 获取全文搜索一级分类列表 通过id list
// *
// * @param id
// * @return
// */
// @GetMapping("listFullTypeOneByIdList")
// public @ResponseBody
// List<FullType> listFullTypeOneByIdList(String id) {
//
// return fullSearchService.listFullTypeOneByIdList(list);
// }
//
//
// /**
// * @param [request]
// * @return com.alibaba.fastjson.JSONObject
// * @description: 获取用户输入的关键词 <br>
// * @version: 1.0 <br>
// * @date: 2020/7/13 14:05 <br>
// * @author: huajiancheng <br>
// */
//
@PostMapping(value = "/search")
@ResponseBody
public JSONObject getSearchWordById(HttpServletRequest request) {
JSONObject response = new JSONObject();
JSONObject paramJson = new JSONObject();
User user = userUtil.getuser(request);
String user_id = String.valueOf(user.getUser_id());
paramJson.put("user_id", user_id);
response = fullSearchService.getSearchWordById(paramJson);
return response;
}
@GetMapping(value = "/data")
@ResponseBody
public String getSpiderData(String keyword,String website_id,String pageNoData) {
long startJiebaTime = System.currentTimeMillis();
String resultdata = "";
//
// if(!"1".equals(website_id)) {
//Map map = templeteService.get(website_id);
File file = new File(xmlPath+website_id+".txt");
String xml_data = TxtUtil.txt2String(file);
//String data = WebSocketUtils.data(keyword,map.get("xml").toString(),pageNoData);
String data = WebSocketUtils.data(keyword,xml_data,pageNoData);
resultdata = dealdata(data);
//
// }else {
// String source_url = "https://weixin.sogou.com/weixin?oq=&query="+keyword+"&_sug_type_=&sut=281&s_from=input&ri=0&_sug_=n&type=2&sst0=&page="+pageNoData+"&ie=utf8&w=&dr=1";
//
// String html = PlaywrightUtil2.getHtml(source_url);
//
//
//
// Document parse = Jsoup.parse(html);
//
// Elements select = parse.select("#main > div.news-box > ul > li");
// JSONArray jsonArray = new JSONArray();
// for (int i = 0; i < select.size(); i++) {
// JSONObject jsonObject = new JSONObject();
//
// Element element = select.get(i);
// String title = element.select("h3").get(0).text();//标题
//
// String title_data = (title.indexOf(keyword)!=0)?(title.replaceAll(keyword,"<b class=\"key\" style=\"color:red\">"+keyword+"</b>")):(title);
//
// jsonObject.put("title", title_data);
//
// String abstract1 = element.select("#sogou_vr_11002601_summary_"+i).get(0).text();//摘要
//
//
//
// String abstractdata = (abstract1.indexOf(keyword)!=0)?(abstract1.replaceAll(keyword,"<b class=\"key\" style=\"color:red\">"+keyword+"</b>")):(abstract1);
// jsonObject.put("abstract", abstractdata);
//
//
//
//
//
// String url = element.select("h3").get(0).attr("href");//原始链接
//
// jsonObject.put("url", url);
// String publish_time = element.select("#sogou_vr_11002601_box_"+i+" > div.txt-box > div > span").get(0).text();
// jsonObject.put("publish_time", publish_time);
//
// String source = "微信";
// jsonObject.put("source", source);
// jsonArray.add(jsonObject);
// }
// resultdata = jsonArray.toJSONString();
// }
long time = (System.currentTimeMillis() - startJiebaTime);//毫秒值
JSONObject jsonObject = new JSONObject();
jsonObject.put("time", time);
jsonObject.put("data", resultdata);
return jsonObject.toJSONString();
}
public String dealdata(String data) {
JSONArray resultArray = new JSONArray();
JSONArray parseArray = JSONArray.parseArray(data);
for (int i = 0; i < parseArray.size(); i++) {
JSONObject parseObject = JSONObject.parseObject(parseArray.get(i).toString());
JSONObject parseObject2 = JSONObject.parseObject(parseObject.getString("message"));
JSONArray parseArray2 = JSONArray.parseArray(parseObject2.getString("outputNames"));
JSONArray valuesArray = JSONArray.parseArray(parseObject2.getString("values"));
JSONObject jsonObject = new JSONObject();
for (int j = 0; j < parseArray2.size(); j++) {
String string = parseArray2.get(j).toString();
System.out.println("json数据:"+parseArray2);
System.out.println("json数据2:"+valuesArray);
String values = "";
if(valuesArray.get(j)!=null) {
values = valuesArray.get(j).toString();
}
jsonObject.put(string, values);
}
resultArray.add(jsonObject);
}
return resultArray.toJSONString();
}
@GetMapping(value = "/index")
public ModelAndView getSpiderData(ModelAndView mv,
@RequestParam(value = "website_id", required = false, defaultValue = "3") String website_id,
@RequestParam(value = "stype", required = false, defaultValue = "1") String stype,
@RequestParam(value = "keyword", required = false, defaultValue = "疫情") String keyword,
@RequestParam(value = "pageNoData", required = false, defaultValue = "1") String pageNoData) {
mv.addObject("website_id", website_id);
mv.addObject("stype", stype);
mv.addObject("keyword", keyword);
mv.addObject("pageNoData", pageNoData);
mv.setViewName("index");
return mv;
}
@GetMapping(value = "/templete")
@ResponseBody
public List templete(String stype) {
List<Map<String,Object>> list = searchearchService.getTemplete(stype);
return list;
}
}

+ 18
- 0
src/main/java/com/stonedt/intelligence/dao/TimelysearchDao.java View File

@@ -0,0 +1,18 @@
package com.stonedt.intelligence.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.stonedt.intelligence.entity.TimelyPolymerization;


@Mapper
public interface TimelysearchDao {

List<TimelyPolymerization> listFullPolymerization();

List<Map<String, Object>> getTemplete(String stype);

}

+ 93
- 0
src/main/java/com/stonedt/intelligence/entity/TimelyPolymerization.java View File

@@ -0,0 +1,93 @@

package com.stonedt.intelligence.entity;

import java.io.Serializable;

/**
*
* @author wangyi
*
*/

public class TimelyPolymerization implements Serializable{

/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String create_time;
private Integer type;
private String type_name;
private String value;
private String icon;
private Integer status;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCreate_time() {
return create_time;
}
public void setCreate_time(String create_time) {
this.create_time = create_time;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getType_name() {
return type_name;
}
public void setType_name(String type_name) {
this.type_name = type_name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public TimelyPolymerization(Integer id, String create_time, Integer type, String type_name, String value,
String icon, Integer status) {
super();
this.id = id;
this.create_time = create_time;
this.type = type;
this.type_name = type_name;
this.value = value;
this.icon = icon;
this.status = status;
}
public TimelyPolymerization() {
super();
// TODO Auto-generated constructor stub
}
}

+ 15
- 0
src/main/java/com/stonedt/intelligence/service/TimelysearchService.java View File

@@ -0,0 +1,15 @@
package com.stonedt.intelligence.service;

import java.util.List;
import java.util.Map;

import com.stonedt.intelligence.entity.FullPolymerization;
import com.stonedt.intelligence.entity.TimelyPolymerization;

public interface TimelysearchService {

List<TimelyPolymerization> listFullPolymerization();

List<Map<String, Object>> getTemplete(String stype);

}

+ 40
- 0
src/main/java/com/stonedt/intelligence/service/impl/TimelysearchServiceImpl.java View File

@@ -0,0 +1,40 @@
package com.stonedt.intelligence.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.stonedt.intelligence.dao.TimelysearchDao;
import com.stonedt.intelligence.entity.TimelyPolymerization;
import com.stonedt.intelligence.service.TimelysearchService;





@Service
public class TimelysearchServiceImpl implements TimelysearchService{
@Autowired
private TimelysearchDao timelysearchDao;

@Override
public List<TimelyPolymerization> listFullPolymerization() {
// TODO Auto-generated method stub
return timelysearchDao.listFullPolymerization();
}

@Override
public List<Map<String, Object>> getTemplete(String stype) {
return timelysearchDao.getTemplete(stype);
}


}

+ 32
- 0
src/main/java/com/stonedt/intelligence/util/TxtUtil.java View File

@@ -0,0 +1,32 @@
package com.stonedt.intelligence.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class TxtUtil {
/**
* 读取txt文件的内容
* @param file 想要读取的文件对象
* @return 返回文件内容
*/
public static String txt2String(File file){
StringBuilder result = new StringBuilder();
try{
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
result.append(System.lineSeparator()+s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
return result.toString();
}
public static void main(String[] args){
File file = new File("/Users/wangyi/Desktop/smart-api/1.txt");
System.out.println(txt2String(file));
}
}

+ 75
- 0
src/main/java/com/stonedt/intelligence/websocket/MyWebSocketClient.java View File

@@ -0,0 +1,75 @@
package com.stonedt.intelligence.websocket;

import java.net.URI;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.alibaba.fastjson.JSONObject;

/**
* websocket客户端监听类
* @author 。
*/
public class MyWebSocketClient extends WebSocketClient {

private static Logger logger = LoggerFactory.getLogger(MyWebSocketClient.class);
//用来接收数据
private String excptMessage;

public MyWebSocketClient(URI serverUri) {
super(serverUri);
}

@Override
public void onOpen(ServerHandshake serverHandshake) {
logger.info(">>>>>>>>>>>websocket open");
}

@Override
public void onMessage(String s) {
this.excptMessage = s;
JSONObject parseObject = JSONObject.parseObject(s);
if(parseObject.getString("eventType").equals("output")) {
WebSocketUtils.array.add(parseObject);
}
System.out.println("s:"+s);
}

@Override
public void onClose(int i, String s, boolean b) {
logger.info(">>>>>>>>>>>websocket close");
}

@Override
public void onError(Exception e) {
logger.error(">>>>>>>>>websocket error {}",e);
}

//获取接收到的信息
public String getExcptMessage() {
if(excptMessage != null){
String message = new String(excptMessage);
System.out.println("message:"+message);
excptMessage = null;
return message;
}
return null;
}

}

+ 80
- 0
src/main/java/com/stonedt/intelligence/websocket/WebSocketUtils.java View File

@@ -0,0 +1,80 @@
package com.stonedt.intelligence.websocket;

import java.net.URI;
import java.net.URISyntaxException;

import org.java_websocket.WebSocket;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class WebSocketUtils {
static JSONArray array = new JSONArray();
public static void main(String[] args) {
String xml = "";
String data = data("疫情",xml,"1");
System.out.println(data);
}
public static String data(String keyword,String xml,String pageNoData){
long start = System.nanoTime();
array.clear();
String message = null;
xml = xml.replaceAll("北京", keyword);
xml = xml.replaceAll("pageNoData", pageNoData);
System.out.println(xml);
JSONObject jsonObject = new JSONObject();
jsonObject.put("eventType", "test");
jsonObject.put("message", xml);
String data = jsonObject.toJSONString();
try {
//实例WebSocketClient对象,并连接到WebSocket服务端
MyWebSocketClient client = new MyWebSocketClient(new URI("ws://s1.stonedt.com:6388/ws"));
client.connect();
//等待服务端响应
while (!client.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
System.out.println("连接中···请稍后");
Thread.sleep(1000);
}
//向WebSocket服务端发送数据
client.send(data);
//等待WebSocket服务端响应
// while((message = client.getExcptMessage())==null){
// System.out.println("服务忙等待...");
// Thread.sleep(1000);
// }
while((message = client.getExcptMessage())==null||!JSONObject.parseObject(message).getString("eventType").equals("finish")){
System.out.println("服务忙等待...");
Thread.sleep(500);
}
//打印服务端返回的数据
System.out.println("成功获取数据:" + message);
//关闭连接
client.close();
// System.out.println(array);
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return array.toJSONString();
}
}

+ 29
- 0
src/main/resources/mapper/TimelysearchMapper.xml View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.stonedt.intelligence.dao.TimelysearchDao">
<select id="listFullPolymerization" resultType="com.stonedt.intelligence.entity.TimelyPolymerization">
select * from search_type where status = 1
</select>
<select id="getTemplete" parameterType="String" resultType="map">
select id,engine from templete where type = #{stype} and status = 1
</select>
</mapper>

+ 14
- 9
src/main/resources/static/dist/search_left.js View File

@@ -1,9 +1,14 @@
//if(!full_type) full_type = 1
if(menuStyle == 0){
listFullPolymerization()
}else{
listFullTypeByFirst()
}
// if(menuStyle == 0){
// listFullPolymerization()
// }else{
// listFullTypeByFirst()
// }
listFullPolymerization();


/**
* 展开模式菜单
@@ -54,7 +59,7 @@ function listFullTypeByFirst(){
function listFullPolymerization(){
$.ajax({
type: 'GET',
url: ctx + 'fullsearch/listFullPolymerization',
url: ctx + 'timelysearch/listFullPolymerization',
dataType: 'json',
data: {},
contentType: 'application/json;charset=utf-8',
@@ -69,11 +74,11 @@ function listFullPolymerization(){
if(full_poly == res[i].id){
aaa = 'sidebar-item comactive'
idList = res[i].value
}
var htmlStr = '<li class="'+aaa+'" data-id="'+res[i].value+'" data-poly="'+res[i].id+'">'
}
var htmlStr = '<li class="'+aaa+'" data-id="'+res[i].id+'" data-poly="'+res[i].id+'">'
+ '<a class="sidebar-link waves-effect waves-dark" href="javascript:void(0)">'
+ ' <i class="'+res[i].icon+'"></i>'
+ ' <span class="hide-menu">' + res[i].name + '</span>'
+ ' <span class="hide-menu">' + res[i].type_name + '</span>'
+ ' </a>'
+ '</li>'
$('#sidebarnav').append(htmlStr)


+ 542
- 0
src/main/resources/static/dist/timelysearch/monitorsearch.js View File

@@ -0,0 +1,542 @@
//左侧菜单变化
$('#sidebarnav li').each(function() {
if ($(this).data('id') == stype) {
$(this).siblings().removeClass("comactive")
$(this).addClass("comactive")
}
});
//总页数
let totalPage = 10;
let currentPage = pageNoData;

//updatepageHelper(currentPage, totalPage);
gettempleteinfo(stype, website_id);
/**
* 获取模版信息
*/
function gettempleteinfo(fulltype, website_id) {
debugger;
$.ajax({
url: "/timelysearch/templete?stype=" + fulltype,
type: "get",
success: function(data) {
let resultdata = '';
if (data.length > 0) {
for (let i = 0; i < data.length; i++) {
let strdata = '';
if (website_id == 0 && i == 0) {
strdata = '<span data-engine="' + data[i].id +
'" class="badge badge-pill badge-info">' + data[i].engine + '</span>';
} else {
if (data[i].id == website_id) {
//strdata = '<input type="radio" value="'+data[i].id+'" name="sex" checked/>'+data[i].engine;
strdata = '<span data-engine="' + data[i].id +
'" class="badge badge-pill badge-info">' + data[i].engine + '</span>';
} else {
//strdata = '<input type="radio" value="'+data[i].id+'" name="sex"/>'+data[i].engine;
strdata = '<span data-engine="' + data[i].id +
'" class="badge badge-pill badge-light">' + data[i].engine + '</span>';
}
}
resultdata += strdata;
}
}
$("#engine").html(resultdata);
pageHelper(currentPage, totalPage);
///updatepageHelper(currentPage, totalPage);
//var sexdata = $("input[name='sex']:checked").val();
//搜索引擎
var sexdata = '';
$('span[data-engine]').each(function() {
if ($(this).hasClass('badge-info')) {
sexdata = $(this).data('engine');
}
});
var keywords = $("#searchWord").val();
//var pageNum = $("input[name='pageNum']:checked").val();
$('span[data-pagenum]').each(function() {
if ($(this).data('pagenum') == pageNoData) {
$(this).removeClass(normal);
$(this).removeClass(active);
$(this).addClass(active);
} else {
$(this).removeClass(normal);
$(this).removeClass(active);
$(this).addClass(normal);
}
});
var pageNum = currentPage;
// $('#page li').each(function() {
// if ($(this).hasClass('active')) {
// pageNum = $(this).val();
// }
// });
loadContent(fulltype,keywords,sexdata,pageNum);
}
});
}
//搜索引擎点击事件
$(document).ready(function() {
$(document).on("click", "#engine span", function() {
var active = "badge-info";
var normal = "badge-light";
var act = $(this).hasClass(active);
if (act) {} else {
$(this).siblings().removeClass(active);
$(this).siblings().addClass(normal);
$(this).removeClass(normal);
$(this).addClass(active);
}
$('span[data-pagenum]').each(function() {
if ($(this).data('pagenum') == '1') {
$(this).removeClass(normal);
$(this).removeClass(active);
$(this).addClass(active);
} else {
$(this).removeClass(normal);
$(this).removeClass(active);
$(this).addClass(normal);
}
});
pageHelper(1, totalPage);
var stype = '';
$('#sidebarnav li').each(function() {
if ($(this).hasClass('comactive')) {
stype = $(this).data('id');
}
});
var sexdata = '';
$('span[data-engine]').each(function() {
if ($(this).hasClass('badge-info')) {
sexdata = $(this).data('engine');
}
});
var keywords = $("#searchWord").val();
loadContent(stype, keywords, sexdata, 1);
})
});
function loadContent(stype, keywords, sexdata, pageNum) {
$.ajax({
url: "/timelysearch/data" + "?keyword=" + keywords + "&website_id=" + sexdata + "&pageNoData=" +
pageNum,
type: "get",
beforeSend: function() {
$("#contentdata").html('');
debugger;
loading("#monitor-content");
$('#div1').show();
},
success: function(data) {
$('#div1').hide();
let jsondatadata = JSON.parse(data);
$("#spider_time").html(jsondatadata.time + "ms");
let resultresultdata = '';
let jsondata = JSON.parse(jsondatadata.data);
if (jsondata.length > 0) {
if (stype == "5") {
resultresultdata = '<div class="flex">';
for (let i = 0; i < jsondata.length; i++) {
let imgdata = JSON.parse(jsondata[i].videojson);
strdata = '<div class="item"><a target="_blank" href="' + jsondata[i].url +
'"><img src="' + imgdata.imglist[0].imgurl + '"/><span >' + jsondata[i].title +
'</span></a></div><hr>';
resultresultdata += strdata;
}
resultresultdata += '</div>';
} else if (stype == '4') {
resultresultdata = '<div class="flex">';
for (let i = 0; i < jsondata.length; i++) {
let imgdata = JSON.parse(jsondata[i].videojson);
strdata = '<div class="item"><a target="_blank" href="' + jsondata[i].url +
'"><img src="' + imgdata.videoorientationurl + '"/><span >' + jsondata[i]
.title + '</span></a></div><hr>';
resultresultdata += strdata;
}
resultresultdata += '</div>';
} else {
for (let i = 0; i < jsondata.length; i++) {
let resultdata = jsondata[i];
if (resultdata.videojson != null) {
let vediodata = resultdata.videojson;
console.info("i" + vediodata);
if (vediodata != '') {
let imgjsondata = JSON.parse(vediodata);
if (imgjsondata != null && isEmptyObj(imgjsondata) == true) {
if (imgjsondata.imglist.length > 0) {
let imgurl = imgjsondata.imglist[0].imgurl;
if (imgurl != '') {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title"><a target="_blank" title="' +
resultdata.author + '" style="width: 65%"' +
'href="' + resultdata.url + '"' +
'class="link font-bold"><span class="content-logo"' +
'style="background: url(' + imgurl +
');"></span><span' +
'style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
resultdata.title + '</span></a><span class="sl-date">' +
resultdata.publish_time + ' </span>' +
'</div>' +
'<div class="wb-content-imgbox">' +
'<div class="wb-left-imgbox"><img src="' + imgurl +
'" class="img-cover" alt=""></div>' +
'<div class="wb-right-content">' +
'<div class="monitor-content-con font-13">' + resultdata
.abstract + '</div>' +
'</div>' +
'</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
resultdata.source + '</span></div></div><hr>';
resultresultdata += strdata;
} else {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title">' +
'<a target="_blank" title="" style="width: 65%" href="' +
jsondata[i].url +
'" class="link font-bold"><span class="content-logo" style="background: url(http://www.njrb.njdaily.cn/favicon.ico);"></span><span style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
jsondata[i].title + '</span></a>' +
'<span class="sl-date">' + jsondata[i].publish_time +
' </span></div>' +
'<div class="monitor-content-con font-13">' + jsondata[i]
.abstract + '</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
jsondata[i].source + '</span><span class="link m-r-0">' +
'</span></div></div><hr>';
resultresultdata += strdata;
}
} else {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title">' +
'<a target="_blank" title="" style="width: 65%" href="' +
jsondata[i].url +
'" class="link font-bold"><span class="content-logo" style="background: url(http://www.njrb.njdaily.cn/favicon.ico);"></span><span style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
jsondata[i].title + '</span></a>' +
'<span class="sl-date">' + jsondata[i].publish_time +
' </span></div>' +
'<div class="monitor-content-con font-13">' + jsondata[i]
.abstract + '</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
jsondata[i].source + '</span><span class="link m-r-0">' +
'</span></div></div><hr>';
resultresultdata += strdata;
}
} else {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title">' +
'<a target="_blank" title="" style="width: 65%" href="' + jsondata[
i].url +
'" class="link font-bold"><span class="content-logo" style="background: url(http://www.njrb.njdaily.cn/favicon.ico);"></span><span style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
jsondata[i].title + '</span></a>' +
'<span class="sl-date">' + jsondata[i].publish_time +
' </span></div>' +
'<div class="monitor-content-con font-13">' + jsondata[i].abstract +
'</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
jsondata[i].source + '</span><span class="link m-r-0">' +
'</span></div></div><hr>';
resultresultdata += strdata;
}
} else {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title">' +
'<a target="_blank" title="" style="width: 65%" href="' + jsondata[i]
.url +
'" class="link font-bold"><span class="content-logo" style="background: url(http://www.njrb.njdaily.cn/favicon.ico);"></span><span style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
jsondata[i].title + '</span></a>' +
'<span class="sl-date">' + jsondata[i].publish_time + ' </span></div>' +
'<div class="monitor-content-con font-13">' + jsondata[i].abstract +
'</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
jsondata[i].source + '</span><span class="link m-r-0">' +
'</span></div></div><hr>';
resultresultdata += strdata;
}
} else {
let strdata = '<div class="monitor-right">' +
'<div class="monitor-content-title">' +
'<a target="_blank" title="" style="width: 65%" href="' + jsondata[i].url +
'" class="link font-bold"><span class="content-logo" style="background: url(http://www.njrb.njdaily.cn/favicon.ico);"></span><span style="width:95%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;">' +
jsondata[i].title + '</span></a>' +
'<span class="sl-date">' + jsondata[i].publish_time + ' </span></div>' +
'<div class="monitor-content-con font-13">' + jsondata[i].abstract +
'</div>' +
'<div class="like-comm m-t-10 font-13"><span class="link m-r-10"> <i class="mdi mdi-earth "></i> 来源 ' +
jsondata[i].source + '</span><span class="link m-r-0">' +
'</span></div></div><hr>';
resultresultdata += strdata;
}
}
}
}
$("#monitor-content").html(resultresultdata);
}
});
let url = "result?website_id=" + sexdata + "&pageNoData=" + pageNum + "&keyword=" + keywords + "&stype=" + stype +
"&fulltype=" + stype;
console.info("11111111"+url);
setUrl(url);
}
/**
* 左侧菜单 点击
*
* @param e
* @returns
*/
$('body').on(
'click',
'#sidebarnav li',
function(e) {
if (!$(this).hasClass("comactive")) {
$(this).siblings().removeClass("comactive")
$(this).addClass("comactive")
//alert();
var stype = $(this).attr("data-id");
gettempleteinfo(stype, 0);
pageHelper(1, totalPage);
var keywords = $("#searchWord").val();
var website_id = '';
$('span[data-engine]').each(function() {
if ($(this).hasClass('badge-info')) {
website_id = $(this).data('engine');
}
});
debugger;
loadContent(stype, keywords, website_id, 1);
let url = "result?website_id=" + website_id + "&pageNoData=1&keyword=" + keywords +
"&stype=" + stype + "&fulltype=" + stype;
console.info("22222222222"+url);
setUrl(url);
}
})
//搜索框点击事件
$('body').on(
'click',
'#searchBtn',
function(e) {
var keywords = $("#searchWord").val();
var website_id = '';
$('span[data-engine]').each(function() {
if ($(this).hasClass('badge-info')) {
website_id = $(this).data('engine');
}
});
var stype = '';
$('#sidebarnav li').each(function() {
if ($(this).hasClass('comactive')) {
stype = $(this).data('id');
}
});
loadContent(stype, keywords, website_id, currentPage);
pageHelper(1, totalPage);
let url = "result?website_id=" + website_id + "&pageNoData=1&keyword=" + keywords +
"&stype=" + stype + "&fulltype=" + stype;
console.info("3333333"+url);
setUrl(url);
})
function setUrl(url) {
history.pushState({
url: url,
title: document.title
}, document.title, url)
}
function isEmptyObj(obj) {
for (let item in obj) {
return true
}
return false
}




function pageHelper(currentPage, totalPages) {
$("#page").bootstrapPaginator({
bootstrapMajorVersion: 3, //版本
currentPage: currentPage, //当前页数
numberOfPages: 10, //每次显示页数
totalPages: totalPages, //总页数
shouldShowPage: true, //是否显示该按钮
useBootstrapTooltip: false,
onPageClicked: function (event, originalEvent, type, page) {
let keywords = $("#searchWord").val();
var website_id = '';
$('span[data-engine]').each(function() {
if ($(this).hasClass('badge-info')) {
website_id = $(this).data('engine');
}
});
var stype = '';
$('#sidebarnav li').each(function() {
if ($(this).hasClass('comactive')) {
stype = $(this).data('id');
}
});
loadContent(stype, keywords, website_id, page);
// let url = "result?website_id=" + website_id + "&pageNoData=" + page + "&keyword=" + keywords +
// "&stype=" + stype + "&fulltype=" + stype;
// setUrl(url);
}
}
);
}



//更新分页参数
// function updatepageHelper(currentPage, totalPages) {
// $("#page").bootstrapPaginator({
// bootstrapMajorVersion: 3, //版本
// currentPage: currentPage, //当前页数
// numberOfPages: 10, //每次显示页数
// totalPages: totalPages, //总页数
// shouldShowPage: true, //是否显示该按钮
// useBootstrapTooltip: false
// }
// );
// }

+ 0
- 0
src/main/resources/static/dist/timelysearch/search_result.js View File


+ 2775
- 0
src/main/resources/static/dist/timelysearch/search_result_data.js
File diff suppressed because it is too large
View File


+ 5
- 5
src/main/resources/templates/common/header.html View File

@@ -80,14 +80,14 @@
</a>
</li>
<!-- <li data-type="full_search" th:classappend="${menu=='full_search'?'nav-active3':''}"
<li data-type="full_search" th:classappend="${menu=='full_search'?'nav-active3':''}"
class="nav-item dropdown hover-none navLi">
<a style="display: block; position: absolute; font-size: 12px; color: #fff; margin-left: 76px; margin-top: 6px; background-color: #fe475d; width: 25px; height: 17px; border-radius: 45%; padding-left: 7px;transform: scale(0.9);">新</a>
<a class="nav-link dropdown-toggle waves-effect waves-dark">
<span class="d-none d-md-block"> <i class="fa fa-search"></i> 情报搜索</span>
<span class="d-block d-md-none">情报搜索</span>
<span class="d-none d-md-block"> <i class="fa fa-search"></i> 即时搜索</span>
<span class="d-block d-md-none">即时搜索</span>
</a>
</li> -->
</li>
<li data-type="public_option" th:classappend="${menu=='public_option'?'nav-active3':''}"
class="nav-item dropdown hover-none navLi" id="yqypfx">
<a class="nav-link dropdown-toggle waves-effect waves-dark">
@@ -513,7 +513,7 @@
window.location.href = ctxPath + 'volume' + param;
}
else if (menu == 'full_search') {
window.location.href = ctxPath + 'fullsearch';
window.location.href = ctxPath + 'timelysearch';
}else if (menu == 'public_option') {
window.location.href = ctxPath + 'publicoption';
}else if (menu == 'syswarning') {


+ 266
- 0
src/main/resources/templates/timely_search/fullSearch.html View File

@@ -0,0 +1,266 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>全文搜索·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css" th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.timeline.timeline-left.hot-content-list>.nodata{
margin-left: -55px;
}
.timeline.timeline-left.hot-content-list>.text-center.over-load{
margin-left: 25px;
}
</style>
</head>
<body>
<!-- ============================================================== -->
<!-- Preloader - style you can find in spinners.css -->
<!-- ============================================================== -->
<!-- <div class="preloader"> -->
<!-- <div class="lds-ripple"> -->
<!-- <div class="lds-pos"></div> -->
<!-- <div class="lds-pos"></div> -->
<!-- </div> -->
<!-- </div> -->
<!-- ============================================================== -->
<!-- Main wrapper - style you can find in pages.scss -->
<!-- ============================================================== -->
<div id="main-wrapper">
<!-- ============================================================== -->
<!-- Topbar header - style you can find in pages.scss -->
<!-- ============================================================== -->
<div th:replace="common/header::header"></div>
<!-- ============================================================== -->
<!-- End Topbar header -->
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Left Sidebar - style you can find in sidebar.scss -->
<!-- ============================================================== -->
<div th:replace="common/monitor_left::monitor_left"></div>
<!-- ============================================================== -->
<!-- End Left Sidebar - style you can find in sidebar.scss -->
<!-- ============================================================== -->
<!-- Page wrapper -->
<!-- ============================================================== -->
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<!-- <div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">全文搜索</li>
</ol>
</nav>
</div>
</div>
<div class="col-lg-7 align-self-center ">
<div class="d-flex no-block justify-content-end align-items-center data-number-min">
<small>24H数据量</small>
<h4 class="text-info m-b-0 m-l-10"> 58256</h4>
</div>
</div>
</div>
</div> -->
<!-- nav end-->
<div class="p-20">
<div class="card">
<div class="card-body p-45">
<div class="full-search-box">
<div class="search-group d-flex">
<!-- <button class="btn search-select">
<span id="showselect">全部</span><i class="fa fa-angle-down"> </i>
</button> -->
<button style="z-index: 1;" class="btn btn-info"><i class="fa fa-bars"></i>&nbsp;搜索</button>
<div>
<input id="searchText" type="text" class="form-control" placeholder="请输入搜索内容">
<i id="searchI" class="fa fa-search"></i>
</div>
<!-- <button class="btn btn-info">
<i class="fa fa-search"></i>
搜索
</button> -->
<ul class="select-menu">
<li>全部</li>
<li>百度</li>
<li>自媒体</li>
<li>客户端APP</li>
<li>政府网站</li>
</ul>
</div>
</div>
</div>
</div>
<!-- 24h start-->
<div class="card">
<div class="card-body">
<!-- 24h start -->
<div class="hot-con-box m-b-20">
<div class="hot-content">
<span><i class="fa fas fa-fire"></i> 12小时热点内容</span>
</div>
</div>
<!-- 24h end -->
<!-- content start -->
<ul class="timeline timeline-left hot-content-list" id="articleList">
<!-- <li class="timeline-inverted timeline-item"> -->
<!-- <div class="hot-time"> 18:28</div> -->
<!-- <div class="timeline-panel"> -->
<!-- <div class="timeline-heading"> -->
<!-- <h4 class="timeline-title font-14"> <a th:href="@{/monitor/detail/123}">唐山钢坯周降50 库存仍处高位 本周钢材指数(Myspic)下跌</a> -->
<!-- </h4> -->
<!-- <p><small class="text-muted"><i class="fa fa-clock-o"></i> 11 hours ago via Twitter</small> </p> -->
<!-- </div> -->
<!-- <div class="timeline-body"> -->
<!-- <p class="text-over-2">唐山钢坯周降50 库存仍处高位 本周钢材指数(Myspic)下跌本周Myspic综合指数报131.12点,较上一周下跌1.06。本周建筑钢材市场价格下跌,全国25个主要市场螺纹HRB400(20mm)均价为3647元/吨,较上周下跌25元/吨。本周全国钢坯价格下行为主,截止3月27日,唐山钢坯价格出厂报3110元/吨,周比降50元/吨。下游产销利润的压力以及目前厂内钢坯库存水平导致采坯情绪显弱,下游厂家更多以降库为主(成品库存以及钢坯库存)。库存方面,虽然本周国内钢厂及市场建筑钢材库存双双下降,但目前库存量仍处于高位。综上,目前国内下游建筑工程用钢需求逐步恢复,同时建材产量亦呈现持续攀升态势,建筑钢材高位库存仍需时间消化,预计短期国内建筑钢材价格弱势震荡为主。 库存仍处高位 本周钢材指数(Myspic)下跌本周Myspic综合指数报131.12</p> -->
<!-- </div> -->
<!-- </div> -->
<!-- </li> -->
</ul>
<!-- content end -->
</div>
</div>
<!-- 24h end -->
</div>
<!-- ============================================================== -->
<!-- footer start -->
<!-- ============================================================== -->
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
<!-- ============================================================== -->
<!-- footer end -->
<!-- ============================================================== -->
</div>
</div>
<!-- ============================================================== -->
<!-- End Page wrapper -->
<!-- ============================================================== -->
</div>
<!-- ============================================================== -->
<!-- End Wrapper -->
<!-- ============================================================== -->
<!-- All Jquery -->
<!-- ============================================================== -->
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<!-- Bootstrap tether Core JavaScript -->
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<!-- apps -->
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<!-- slimscrollbar scrollbar JavaScript -->
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<!--Wave Effects -->
<script th:src="@{/dist/js/waves.js}"></script>
<!--Menu sidebar -->
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<!--Custom JavaScript -->
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/dist/search.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript">
$("#currentyear").text((new Date()).getFullYear());
</script>
<!--<script th:inline="javascript" type="text/javascript">-->
<!---->
<!--// twelveHotArticle();-->
<!---->
<!--// 搜索按钮-->
<!--$('#searchI').click(function(){-->
<!--alert($('#searchText').val().trim());-->
<!--});-->
<!---->
<!--// 左侧方案切换-->
<!--function switchProject(event) {-->
<!--let $event = $(event);-->
<!--var groupId = $event.attr("data-groupid");-->
<!--var projectId = $event.attr("data-index");-->
<!--window.location.href = ctxPath+'monitor?groupid='+groupId+'&projectid='+projectId;-->
<!--}-->
<!---->
<!--// 回车搜索-->
<!--$(document).keydown(function (event) {-->
<!--if (event.keyCode == 13) {-->
<!--$('#searchI').trigger("click");-->
<!--}-->
<!--});-->
<!---->
<!--// 12小时热点内容-->
<!--function twelveHotArticle(){-->
<!--$.ajax({-->
<!--url: ctxPath + 'search/twelveHotArticle',-->
<!--type: 'post',-->
<!--dataType: 'json',-->
<!--data: {},-->
<!--beforeSend: function(){-->
<!--loading('#articleList');-->
<!--},-->
<!--success: function(res){-->
<!--var list = res;-->
<!--$('#articleList').html('');-->
<!--for(var i=0; i<list.length; i++){-->
<!--var html = '<li class="timeline-inverted timeline-item">'+-->
<!--'<div class="hot-time">'+list[i].publish_time.substring(11, 16)+'</div>'+-->
<!--'<div class="timeline-panel">'+-->
<!--'<div class="timeline-heading">'+-->
<!--'<h4 class="timeline-title font-14"> <a href="'+ctxPath+'monitor/detail/'+list[i].article_public_id+'?menu=search">'+list[i].title+'</a>'+-->
<!--'</h4>'+-->
<!--// '<p><small class="text-muted"><i class="fa fa-clock-o"></i> 11 hours ago via Twitter</small> </p>'+-->
<!--'</div>'+-->
<!--'<div class="timeline-body">'+-->
<!--'<p class="text-over-2">'+list[i].content+'</p>'+-->
<!--'</div>'+-->
<!--'</div>'+-->
<!--'</li>';-->
<!--$('#articleList').append(html);-->
<!--}-->
<!--if(list.length == 0){-->
<!--nodata('#articleList');-->
<!--}-->
<!--},-->
<!--error: function(){-->
<!--dataerror('#articleList');-->
<!--}-->
<!--});-->
<!--}-->
<!--</script>-->
</body>
</html>

+ 221
- 0
src/main/resources/templates/timely_search/full_search.html View File

@@ -0,0 +1,221 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>即时搜索·网络情报分析系统</title>
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<script th:src="@{/common/analyze-cloud.js}"></script>
<style>
.timeline.timeline-left.hot-content-list > .nodata {
margin-left: -55px;
}
.timeline.timeline-left.hot-content-list > .text-center.over-load {
margin-left: 25px;
}
.search-record li {
margin: 10px 0;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<div class="p-20">
<div class="card">
<div class="card-body p-45">
<div class="full-search-box">
<div class="search-group d-flex" style="padding-left: 0;">
<div style="width: 100%;">
<input id="searchWord" type="text" class="form-control"
placeholder="请输入企业名称、企业简称、产品名、行业名称、政策法规、人名等,多关键词用空格隔开">
</div>
<button id="searchBtn"
style="z-index: 1; border-radius: 0 2px 2px 0 !important;width: auto;"
class="btn btn-info">即时搜索
</button>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="hot-con-box m-b-20">
<div class="hot-content" style="margin-left: 40px;">
<span>搜索记录</span>
</div>
</div>
<div class="search-record" style="width: 1000px; margin: 0 auto;">
<div style="display: flex; width: calc(100% - 80px); margin: 0 auto;" id="searchwords">
<!--<ul class="timeline timeline-left hot-content-list"-->
<!--style="padding-left: 200px;">-->
<!--<li><span class="v-hot">1</span> <a href=""><span>习近平</span></a>-->
<!--</li>-->
<!--<li><span class="v-hot">3</span> <a href=""><span>南京</span></a>-->
<!--</li>-->
<!--<li><span class="v-hot">5</span> <a href=""><span>中共中央</span></a>-->
<!--</li>-->
<!--</ul>-->
<!--<ul class="timeline timeline-left hot-content-list"-->
<!--style="padding-left: 100px;">-->
<!--<li><span class="v-hot">2</span> <a href=""><span>微博</span></a>-->
<!--</li>-->
<!--<li><span class="v-hot">4</span> <a href=""><span>威马汽车</span></a>-->
<!--</li>-->
<!--<li><span class="v-hot">6</span> <a href=""><span>汽车轮胎</span></a>-->
<!--</li>-->
<!--</ul>-->
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script th:inline="javascript" type="text/javascript">
$("#currentyear").text((new Date()).getFullYear());
// var ctx = [[@{/}]];
var ctx = /*[[@{/}]]*/'';
$(document).ready(function () {
getSearchWordById();
});
$('body').on('click', '#sidebarnav li', function (e) {
// alert("aaaa")
// console.log(e)
if (!$(this).hasClass("comactive")) {
$(this).siblings().removeClass("comactive")
$(this).addClass("comactive")
if (menuStyle == 0) {
let arry = $(this).attr("data-id").split(',');
//full_type = arry[0]
idList = $(this).attr("data-id")
full_poly = $(this).attr("data-poly")
if (full_poly == 1) {
$('#searchWord').attr("placeholder", "请输入竞争对手企业名称、企业简称、产品名、行业名称、人名等,多关键词用空格隔开")
}
if (full_poly == 2) {
$('#searchWord').attr("placeholder", "请输入领域范围、行业名称、人名等,多关键词用空格隔开")
}
if (full_poly == 3) {
$('#searchWord').attr("placeholder", "请输入政策法规、关注产品、行业名称、人名等,多关键词用空格隔开")
}
if (full_poly == 4) {
$('#searchWord').attr("placeholder", "请输入产业名称、企业名称、企业简称等,多关键词用空格隔开")
}
if (full_poly == 5) {
$('#searchWord').attr("placeholder", "请输入产品名称、品牌名称、企业简称等,多关键词用空格隔开")
}
if (full_poly == 6) {
$('#searchWord').attr("placeholder", "请输入技术名称、专家名称、企业简称等,多关键词用空格隔开")
}
} else {
full_type = $(this).attr("data-id")
}
}
})
// 搜索按钮
$('#searchBtn').click(function () {
var searchWord = $('#searchWord').val().trim();
var params = '?keyword=' + searchWord + '&stype=' + full_type + '&full_poly=' + full_poly+"&fulltype="+full_type;
window.location.href = ctx + 'timelysearch/result' + params;
})
// 回车搜索
$(document).keydown(function (event) {
if (event.keyCode == 13) {
$('#searchBtn').trigger("click");
}
});
// 顶部导航跳转
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), null, null);
})
// 获取用户搜索的词
function getSearchWordById() {
$.ajax({
url: ctx + 'timelysearch/search',
type: 'post',
dataType: 'json',
data: {},
success: function (res) {
console.log(res);
installSearchWord(res);
},
error: function (xhr, ajaxOptions, thrownError) {
if (xhr.status == 403) {
window.location.href = ctxPath + "login";
}
}
});
}
/**
* 组装数据
* @param res
*/
function installSearchWord(res) {
let code = res.code;
if (code == 200) {
let data = res.data;
let StrAll = '';
let str1 = '';
let str2 = '';
for (let i = 0; i < data.length; i++) {
let dataJson = data[i];
let search_word = dataJson.search_word;
let index = i % 2;
if (index == 0) {
str1 += '<li><span class="v-hot">' + (i + 1) + '</span> <a href=""><span>' + search_word + '</span></a></li>';
} else {
str2 += '<li><span class="v-hot">' + (i + 1) + '</span> <a href=""><span>' + search_word + '</span></a></li>';
}
}
let str3 = '<ul class="timeline timeline-left hot-content-list" style="padding-left: 200px;">' + str1 + '</ul>';
let str4 = '<ul class="timeline timeline-left hot-content-list" style="padding-left: 100px;">' + str2 + '</ul>';
StrAll = str3 + str4;
$("#searchwords").html(StrAll);
}
}
</script>
</body>
</html>

+ 166
- 0
src/main/resources/templates/timely_search/search_bidding_detail.html View File

@@ -0,0 +1,166 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title" th:text="${bidding.title}"></h4>
<div class="detail-tips">
<span id="publish_time">发布时间:<span th:text="${#strings.substring(bidding.publish_time,0,10)}"></span></span>
<span id="author">招标项目编号:<span th:text="${bidding.numberid}"></span></span>
<span id="source">信息来源:<span th:text="${bidding.sourceplatform}"></span></span>
<span id="yuanwen"><a target="_blank" th:href="${bidding.detail_url}">原文地址</a></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content" th:utext="${bidding.content_html}">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
});
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 384
- 0
src/main/resources/templates/timely_search/search_company_detail.html View File

@@ -0,0 +1,384 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
.mainTable{
border-spacing:0;
border-collapse:collapse;
}
.tb{
background:#F2F9FC;
width:13%;
}
.mainTable td{
padding:10px 10px 11px 10px;border:#E4EEF6 1px solid;word-break:break-all;font-size:14px;
line-height: 1.6;
color: #222;
word-wrap: break-word;
}
.mainTable2 .tx{
text-align: center;
width: 56px;
}
.mainTable2 th{
text-align:center;
background:#F2F9FC;
border:#E4EEF6 1px solid;
border-collapse: collapse;
padding:12px 12px 12px 12px;
font-weight: normal;
color: #444;
line-height: 19px;
}
.mainTable2 td{
padding:10px 10px 11px 10px;border:#E4EEF6 1px solid;word-break:break-all;font-size:14px;
line-height: 1.6;
color: #222;
word-wrap: break-word;
}
table{
margin-bottom:40px;
}
.lcontent{
float: left;
margin:18px 0px 10px 10px;
font-size: 14px;
color: #000;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title"></h4>
<div class="detail-tips">
<span id="phone"></span>
<span id="address"></span>
<span id="publish_time"></span>
<span id="yuanwen"></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
articleDetail();
});
// 文章详情
function articleDetail() {
$.ajax({
url: ctxPath + 'fullsearch/companyDetails',
type: 'GET',
dataType: 'json',
data: {
article_public_id: articleId,
},
success: function (res) {
let phone=res.phone_number;
let address=res.address;
let legal_person=res.legal_representative;
let code=res.uniformSocialCreditCode;
let insured_num=res.insured_num;
if(typeof phone=="undefined"){
phone=res.phone;
}
if(typeof address=="undefined"){
address=res.location;
}
if(typeof legal_person=="undefined"){
legal_person=res.legal_person;
}
if(typeof code=="undefined"){
code=res.taxpayer_identification;
}
if(typeof insured_num=="undefined"){
insured_num=res.insureds;
}
//主要人员
var keypersonhtml='';
let keypersion=res.key_person;
var keypersonhead='';
if(keypersion!=null){
keypersonhead+='<h3>主要人员</h3><table class="mainTable2"><tbody>'+
'<tr>'+
'<th style="width:100px;">序号</th>'+
'<th style="width:300px;">姓名</th>'+
'<th style="width:410px;">职务</th>'+
'</tr>';
let person=JSON.parse(keypersion);
var keypersoncon='';
console.log(person);
for(var i=0;i<person.length;i++){
keypersoncon+='<tr>'+
'<td>'+person[i].id+'</td>'+
'<td>'+person[i].name+'</td>'+
'<td>'+person[i].position+'</td>'+
'</tr>';
}
keypersoncon+='</tbody></table>';
keypersonhtml=keypersonhead+keypersoncon;
}
var changeRecordHtml='';
if(res.change_record!=null){
//变更记录
let changeRecord=JSON.parse(res.change_record);
if(changeRecord.length!=0){
var changeRecordhead='';
changeRecordhead+='<h3>变更记录</h3><table class="mainTable2"><tbody>'+
'<tr>'+
'<th style="width:100px;">序号</th>'+
'<th style="width:200px;">变更日期</th>'+
'<th style="width:220px;">变更项目</th>'+
'<th style="width:287px;">变更前</th>'+
'<th style="width:288px;">变更后</th>'+
'</tr>';
var changeRecordcon='';
for(var i=0;i<changeRecord.length;i++){
changeRecordcon+='<tr>'+
'<td>'+changeRecord[i].id+'</td>'+
'<td>'+changeRecord[i].alterDate+'</td>'+
'<td>'+changeRecord[i].alterItem+'</td>'+
'<td>'+changeRecord[i].alterBefore+'</td>'+
'<td>'+changeRecord[i].alterAfter+'</td>'+
'</tr>';
}
changeRecordcon+='</tbody></table>';
changeRecordHtml+=changeRecordhead+changeRecordcon;
}
}
//股东
var gudonghtml='';
if(res.shareholder!=null){
let gu=JSON.parse(res.shareholder);
//股东信息
if(gu.length!=0){
var gudonghead='';
gudonghead+='<h3>股东信息</h3><table class="mainTable2"><tbody>'+
'<tr>'+
'<th style="width:100px;">序号</th>'+
'<th style="width:300px;">发起人/股东</th>'+
'<th style="width:410px;">认缴出资额</th>'+
'<th style="width:410px;">实际出资额</th>'+
'</tr>';
var gucon='';
for(var i=0;i<gu.length;i++){
gucon+='<tr>'+
'<td>'+gu[i].id+'</td>'+
'<td>'+gu[i].name+'</td>'+
'<td>'+gu[i].capital_contribution+'</td>'+
'<td>'+gu[i].actual_contribution+'</td>'+
'</tr>';
}
gucon+='</tbody></table>';
gudonghtml+=gudonghead+gucon;
}
}
var push_time=res.establish_time;
push_time=/\d{4}-\d{1,2}-\d{1,2}/g.exec(push_time);
$('#title').html(res.name)
$('#phone').html('电话:' + phone)
$('#address').html('地址:' + address)
var html='<div class="row" style="margin-left:0px;margin-bottom:20px">'+
'</div>'+
'<h3>工商信息</h3>'+
'<table class="mainTable">'+
'<tbody>'+
'<tr>'+
'<td class="tb">法定代表人</td>'+
'<td style="width:20%">'+legal_person+'</td>'+
'<td class="tb">企业名称</td>'+
'<td style="width:20%">'+res.name+'</td>'+
'<td class="tb">统一社会信用代码</td>'+
'<td style="width:14%">'+code+'</td>'+
'</tr>'+
'<tr>'+
'<td class="tb">工商注册号</td>'+
'<td style="width:20%">'+res.registration+'</td>'+
'<td class="tb">核准日期</td>'+
'<td style="width:20%">'+push_time+'</td>'+
'<td class="tb">成立日期</td>'+
'<td style="width:14%">'+push_time+'</td>'+
'</tr><tr>'+
'<td class="tb">参保人数</td>'+
'<td style="width:20%">'+insured_num+'</td>'+
'<td class="tb">登记状态</td>'+
'<td style="width:20%">'+res.status+'</td>'+
'<td class="tb">纳税人识别号</td>'+
'<td style="width:14%">'+code+'</td>'+
'</tr>'+
'<tr>'+
'<td class="tb">企业类型</td>'+
'<td style="width:20%">'+res.enterprise_type+'</td>'+
'<td class="tb">注册资本</td>'+
'<td style="width:20%">'+res.registered_capital_str+'</td>'+
'<td class="tb">所属行业</td>'+
'<td style="width:14%">'+res.industry_involved+'</td>'+
'</tr>'+
'<tr>'+
'<td class="tb">经营范围</td>'+
'<td colspan=5>'+res.business_scope+'</td>'+
'</tr>'+
'</tbody></table>';
html+=keypersonhtml+gudonghtml+changeRecordHtml;
$('#content').html(html);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
if (xhr.status == 403) {
window.location.href = ctxPath + "login";
}
}
}
);
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 873
- 0
src/main/resources/templates/timely_search/search_detail.html View File

@@ -0,0 +1,873 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css" th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-8">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title"></h4>
<div class="detail-tips">
<span id="source"></span>
<span id="author"></span>
<span id="publish_time"></span>
<span id="category"></span>
<span id="industrylable"></span>
<span id="eventlable"></span>
<span id="yuanwen"></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content">
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-body">
<div class="detail-card-title m-b-0">
情感分析
<span class="btn waves-effect waves-light btn-rounded btn-sm btn-success"
id="emotionText"></span>
</div>
<div class="mood-content">
<div id="mood"></div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="detail-card-title">涉及关键词</div>
<div class="detail-tags" id="referredList">
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class="detail-card-title">文章标签</div>
<div class="detail-tags" id="keywordList">
</div>
</div>
</div>
<div class="card" id="orgCard">
<div class="card-body">
<div class="detail-card-title">涉及企业</div>
<div class="detail-tags" id="org"></div>
</div>
</div>
<div class="card" id="ntoCard">
<div class="card-body">
<div class="detail-card-title">涉及政府机构</div>
<div class="detail-tags" id="nto"></div>
</div>
</div>
<div class="card" id="bankCard">
<div class="card-body">
<div class="detail-card-title">涉及银行</div>
<div class="detail-tags" id="bank"></div>
</div>
</div>
<div class="card" id="hospitalCard">
<div class="card-body">
<div class="detail-card-title">涉及医院</div>
<div class="detail-tags" id="hospital"></div>
</div>
</div>
<div class="card" id="schoolCard">
<div class="card-body">
<div class="detail-card-title">涉及高校院所</div>
<div class="detail-tags" id="school"></div>
</div>
</div>
<div class="card" id="ipoCard">
<div class="card-body">
<div class="detail-card-title">涉及主板上市</div>
<div class="detail-tags" id="ipo"></div>
</div>
</div>
<div class="card" id="xsbCard">
<div class="card-body">
<div class="detail-card-title">涉及新三板上市</div>
<div class="detail-tags" id="xsb"></div>
</div>
</div>
<div class="card" id="hkCard">
<div class="card-body">
<div class="detail-card-title">涉及海外/港股</div>
<div class="detail-tags" id="hk"></div>
</div>
</div>
<div class="card" id="w500">
<div class="card-body">
<div class="detail-card-title">涉及世界五百强</div>
<div class="detail-tags" id="wt"></div>
</div>
</div>
<div class="card" id="c500">
<div class="card-body">
<div class="detail-card-title">涉及中国五百强</div>
<div class="detail-tags" id="ct"></div>
</div>
</div>
<div class="card" id="td">
<div class="card-body">
<div class="detail-card-title">涉及高科技企业</div>
<div class="detail-tags" id="th"></div>
</div>
</div>
<div class="card" id="vcCard">
<div class="card-body">
<div class="detail-card-title">涉及投资机构</div>
<div class="detail-tags" id="vc"></div>
</div>
</div>
<!-- <div class="card" id="perCard">-->
<!-- <div class="card-body">-->
<!-- <div class="detail-card-title">文章涉及人物</div>-->
<!-- <div class="detail-tags" id="per"></div>-->
<!-- </div>-->
<!-- </div>-->
<div class="card" id="locCard">
<div class="card-body">
<div class="detail-card-title">涉及地点</div>
<div class="detail-tags" id="loc"></div>
</div>
</div>
<div class="card" id="policyCard">
<div class="card-body">
<div class="detail-card-title">涉及政策条例</div>
<div class="detail-tags" id="policy"></div>
</div>
</div>
<div class="card" id="industrylableCard">
<div class="card-body">
<div class="detail-card-title">行业标签</div>
<div class="detail-tags" id="industrylable"></div>
</div>
</div>
<div class="card" id="eventlableCard">
<div class="card-body">
<div class="detail-card-title">事件标签</div>
<div class="detail-tags" id="eventlable"></div>
</div>
</div>
<div class="card m-b-0">
<div class="card-body">
<div class="detail-card-title">相关文章</div>
<div class="article-content" style="max-height:400px;" id="relatedArticlesList">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var groupId = [[${groupid}]];
var projectId = [[${projectid}]];
var articleId = [[${articleid}]];
var relatedword = [[${relatedword}]];
var publish_time = [[${publish_time}]];
var menu = [[${menu}]];
// let currentPageByDetail = [[${currentPageByDetail}]];
$(function () {
breadCrumbs();
articleDetail();
});
// 文章详情
function articleDetail() {
$.ajax({
url: ctxPath + 'monitor/articleDetail',
type: 'post',
dataType: 'json',
data: {
articleId: articleId,
projectId: projectId,relatedword:relatedword,publish_time: publish_time
},
success: function (res) {
console.log(res);
if (res.emotionText) {
$('#emotionText').html(res.emotionText);
}
if (res.detail) {
// let articleIdArray = articleIds.split(",");
// let currentBeforeId = '';
// let currentBefore = '';
// let currentAfterId = '';
// let currentAfter = '';
// let pageStrAll = '';
// let pageStrStart = '<div id="pageArticle" class="page-up-next" style=" display: flex !important;padding-top: 20px !important;">';
// let pageStrEnd = '</div>';
// for (let i = 0; i < articleIdArray.length; i++) {
// let articleIdJson = articleIdArray[i];
// let currentArticleId = articleIdJson.id;
//// let currentTitle = articleIdJson.title;
// if (currentArticleId == articleId) {
// if (i != 0) {
// let articleIdJsonBefore = articleIdArray[i - 1];
// currentBeforeId = articleIdJsonBefore.id;
// let currentBeforeTitle = articleIdJsonBefore.title;
// currentBefore = '<a style="cursor:pointer;" onclick="toDetail(&apos;' + currentBeforeId + '&apos;,&apos;' + groupId + '&apos;,&apos;' + projectId + '&apos;)"><span data-id="' + currentBeforeId + '">上一篇</span>' + currentBeforeTitle + '</a>';
// } else {
// currentBefore = '<a style="cursor:pointer;" href="javascript:volid(0);"><span>上一篇</span>暂无上一篇</a>';
// }
//
// if (i != (articleIdArray.length - 1)) {
// let articleIdJsonAfter = articleIdArray[i + 1];
// currentAfterId = articleIdJsonAfter.id;
// let currentAfterTitle = articleIdJsonAfter.title;
// currentAfter = '<a style="cursor:pointer;" onclick="toDetail(&apos;' + currentAfterId + '&apos;,&apos;' + groupId + '&apos;,&apos;' + projectId + '&apos;)"><span data-id="' + currentAfterId + '">下一篇</span>' + currentAfterTitle + '</a>';
// } else {
// currentAfter = '<a style="cursor:pointer;" href="javascript:volid(0);"><span>下一篇</span>暂无下一篇</a>';
// }
// }
// }
//
// pageStrAll = pageStrStart + currentBefore + currentAfter + pageStrEnd;
var detail = res.detail;
let imgListAll = '';
let imgListStr1 = '<div>';
let imgListStr2 = '';
let imgListStr3 = '</div>';
var imggroup = '';
if (detail.sourcewebsitename == "微博") {
let extend_string_one = detail.extend_string_one;
if (extend_string_one != "") {
let extend_string_oneJson = JSON.parse(extend_string_one);
debugger;
let imglist = extend_string_oneJson.imglist;
for (let i = 0; i < imglist.length; i++) {
let imgurl = imglist[i].imgurl;
// console.info("img:" + imgurl);
let imgurlstr = ' <div class="img-box" style=" background: url(' + imgurl + ') no-repeat; background-size: cover;display: inline-block !important;width: 160px;background-position: center;"></div>'
imgListStr2 += imgurlstr;
}
let veviostr = '';
if(extend_string_oneJson.hasOwnProperty('videoorientationurl')){
veviostr+='<video src="'+extend_string_oneJson.videoorientationurl+'" controls="controls"></video>';
}
imggroup = '<div class="img-group">' + imgListStr2 + '</div>'
imggroup = imggroup+veviostr;
}
}else{
debugger;
let veviostr = '';
let extend_string_one = detail.extend_string_one;
if (extend_string_one != "") {
let extend_string_oneJson = JSON.parse(extend_string_one);
if(extend_string_oneJson.hasOwnProperty('videoorientationurl')){
if(extend_string_oneJson.videoorientationurl!=''){
veviostr+='<div align="center"><video src="'+extend_string_oneJson.videoorientationurl+'" controls="controls" style="width:30%;height:40%;text-align: center"></video></div>';
}
}
}
imggroup = imggroup+veviostr;
}
imgListAll = imgListStr1 + imggroup + imgListStr3;
$('#title').html(res.title);
$('#source').html('<i class="mdi mdi-earth"></i> 来源: ' + detail.sourcewebsitename);
$('#author').html('<i class="mdi mdi-face"></i> 作者:' + isNull(detail.author));
$('#publish_time').html('<i class="mdi mdi-clock"></i> ' + timeParse(detail.publish_time));
$('#industrylable').html('<i class="mdi fa-industry"></i> ' + detail.industrylable)
$('#eventlable').html('<i class="mdi fa-map-marker"></i> ' + detail.eventlable)
$('#yuanwen').html('<a href="' + detail.source_url + '" target="_blank">查看原文</a>');
if (detail.sourcewebsitename == "微博" && detail.extend_string_one != "") {
$('#content').html(res.text + imgListAll);
} else {
if(detail.sourcewebsitename == "微信"){
let datahtml = res.text;
//datahtml = '<img data-ratio="1" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/YdtjuibsaqbsAkluHgg5lCtTSm0TRRByI8y8QNouvwWYSvN8TYVB5Rfskqn5pnsibEAI7VqXEekvjYveJHdIk4rg/640?wx_fmt=jpeg" data-type="jpeg" data-w="1" height="475" style="box-sizing:border-box;width: 299px;height: 475px;" width="299">';
datahtml = datahtml.replace(/data-src/g, "src");
$('#content').html(datahtml + imgListAll);
}else{
$('#content').html(res.text + imgListAll);
}
}
// $('#content').html(detail.text + pageStrAll);
var classArray = ['btn-outline-primary', 'btn-outline-success', 'btn-outline-info', 'btn-outline-warning'];
if (detail.hasOwnProperty('key_words') && detail.key_words) {
var keywords = JSON.parse(detail.key_words);
var index = 0;
var keywordArrary = [];
$('#keywordList').html('');
for (key in keywords) {
if (index < 5) {
keywordArrary.push(key);
}
var classIndex = Math.floor(Math.random() * (3));
$('#keywordList').append('<span style="margin-right: 5px;" class="btn waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
index++;
}
if (keywordArrary.length > 0) {
relatedArticles(keywordArrary.join(','));
}
}
if (detail.hasOwnProperty('ner') && detail.ner) {
let ner = JSON.parse(detail.ner);
let org = ner.org;
let orgmap = new Map(Object.entries(org));
if (orgmap.size < 1) {
$('#orgCard').hide();
} else {
$('#org').html('');
// console.log(map)
orgmap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#org').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
let bank = ner.bank;
let bankmap = new Map(Object.entries(bank));
if (bankmap.size < 1) {
$('#bankCard').hide();
} else {
$('#bank').html('');
// console.log(map)
bankmap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#bank').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
let hospital = ner.hospital;
let hospitalmap = new Map(Object.entries(hospital));
if (hospitalmap.size < 1) {
$('#hospitalCard').hide();
} else {
$('#hospital').html('');
// console.log(map)
hospitalmap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#hospital').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
let school = ner.school;
let schoolmap = new Map(Object.entries(school));
if (schoolmap.size < 1) {
$('#schoolCard').hide();
} else {
$('#school').html('');
// console.log(map)
schoolmap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#school').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
let nto = ner.nto;
let ntomap = new Map(Object.entries(nto));
if (ntomap.size < 1) {
$('#ntoCard').hide();
} else {
$('#nto').html('');
// console.log(map)
ntomap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#nto').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
// let per = ner.per;
// let permap = new Map(Object.entries(per));
// if (permap.size<1) {
// $('#perCard').hide();
// }else{
// $('#per').html('');
// // console.log(map)
// permap.forEach(function (value, key) {
// let classIndex = Math.floor(Math.random() * (3));
// $('#per').append('<span style="margin-right: 5px;" class="btn waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
// })
// }
let ipo = ner.IPO;
let ipomap = new Map(Object.entries(ipo));
let sz = false;
if (ipomap.size < 1) {
$('#ipoCard').hide();
} else {
$('#ipo').html('');
// console.log(map)
ipomap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("SZ") != -1 || v.get("chara").indexOf("SH") != -1|| v.get("chara").indexOf("KCB") != -1) {
sz = true;
let classIndex = Math.floor(Math.random() * (3));
$('#ipo').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!sz) {
$('#ipoCard').hide();
}
}
let xsb = ner.IPO;
let xsbmap = new Map(Object.entries(xsb));
let ff = false;
if (xsbmap.size < 1) {
$('#xsbCard').hide();
} else {
$('#xsb').html('');
// console.log(map)
xsbmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("XSB") != -1) {
ff = true;
let classIndex = Math.floor(Math.random() * (3));
$('#xsb').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!ff) {
$('#xsbCard').hide();
}
}
let hongkong = ner.IPO;
let hkmap = new Map(Object.entries(hongkong));
let hh = false;
if (hkmap.size < 1) {
$('#hkCard').hide();
} else {
$('#hk').html('');
// console.log(map)
hkmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("HK") != -1 || v.get("chara").indexOf("NYSE") != -1|| v.get("chara").indexOf("NASDAQ") != -1) {
hh = true;
let classIndex = Math.floor(Math.random() * (3));
$('#hk').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!hh) {
$('#hkCard').hide();
}
}
let w500t = ner.IPO;
let wtmap = new Map(Object.entries(w500t));
let ww = false;
if (wtmap.size < 1) {
$('#w500').hide();
} else {
$('#wt').html('');
// console.log(map)
wtmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("W500T") != -1) {
ww = true;
let classIndex = Math.floor(Math.random() * (3));
$('#wt').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!ww) {
$('#w500').hide();
}
}
let c500t = ner.IPO;
let ctmap = new Map(Object.entries(c500t));
let cc = false;
if (ctmap.size < 1) {
$('#c500').hide();
} else {
$('#ct').html('');
// console.log(map)
ctmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("C500T") != -1) {
cc = true;
let classIndex = Math.floor(Math.random() * (3));
$('#ct').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!cc) {
$('#c500').hide();
}
}
let th = ner.IPO;
let thmap = new Map(Object.entries(th));
let tt = false;
if (thmap.size < 1) {
$('#td').hide();
} else {
$('#th').html('');
// console.log(map)
thmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("Innovative") != -1||v.get("chara").indexOf("Unicorn") != -1||v.get("chara").indexOf("TechInnovDemon") != -1||v.get("chara").indexOf("AdvTechServe") != -1||v.get("chara").indexOf("TechBusIncu") != -1||v.get("chara").indexOf("Gazelle") != -1||v.get("chara").indexOf("InvisaChampion") != -1||v.get("chara").indexOf("MakerSpace") != -1||v.get("chara").indexOf("Specialized") != -1) {
tt = true;
let classIndex = Math.floor(Math.random() * (3));
$('#th').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!tt) {
$('#td').hide();
}
}
let vc = ner.IPO;
let vcmap = new Map(Object.entries(vc));
let vv = false;
if (vcmap.size < 1) {
$('#vcCard').hide();
} else {
$('#vc').html('');
// console.log(map)
vcmap.forEach(function (value, key) {
let v = new Map(Object.entries(value));
if (v.get("chara").indexOf("VC") != -1) {
vv = true;
let classIndex = Math.floor(Math.random() * (3));
$('#vc').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
}
})
if (!vv) {
$('#vcCard').hide();
}
}
let loc = ner.loc;
let locmap = new Map(Object.entries(loc));
if (locmap.size < 1) {
$('#locCard').hide();
} else {
$('#loc').html('');
// console.log(map)
locmap.forEach(function (value, key) {
let classIndex = Math.floor(Math.random() * (3));
$('#loc').append('<span data-keyword="' + key + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + key + '</span>');
})
}
}
if (detail.hasOwnProperty('policylable') && detail.policylable) {
let policylable = JSON.parse(detail.policylable);
if(policylable.length>0){
for(let i=0;i<policylable.length;i++){
var classIndex = Math.floor(Math.random() * (3));
$('#policy').append('<span data-keyword="' + policylable[i].policy + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">《' + policylable[i].policy + '》</span>');
}
}else{
$("#policyCard").hide();
}
}else{
$("#policyCard").hide();
}
//行业标签
/* if (detail.hasOwnProperty('industrylable') && detail.industrylable) {
let industrylable = detail.industrylable;
if(industrylable!=''){
var classIndex = Math.floor(Math.random() * (3));
$('#industrylable').append('<span data-keyword="' + industrylable + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + industrylable + '</span>');
}else{
$("#industrylableCard").hide();
}
}else{
$("#industrylableCard").hide();
} */
//事件标签
/* if (detail.hasOwnProperty('eventlable') && detail.eventlable) {
let eventlable = detail.eventlable;
if(eventlable!=''){
var classIndex = Math.floor(Math.random() * (3));
$('#eventlable').append('<span data-keyword="' + eventlable + '" style="margin-right: 5px;" class="btn skipkeyword waves-effect waves-light btn-rounded ' + classArray[classIndex] + ' btn-sm">' + eventlable + '</span>');
}else{
$("#eventlableCard").hide();
}
}else{
$("#eventlableCard").hide();
} */
}
if (res.emotionChart) {
emotionChart(res.emotionChart);
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
if (xhr.status == 403) {
window.location.href = ctxPath + "login";
}
}
}
);
}
// function toDetail(article_public_id, g_id, p_id) {
// window.location.href = ctxPath + 'monitor/detail/' + article_public_id + '?groupid=' + g_id + '&projectid=' + p_id + '&articleids=' + encodeURI(articleIds);
// }
// 相关文章
function relatedArticles(keywords) {
$.ajax({
url: ctxPath + 'monitor/relatedArticles',
type: 'post',
dataType: 'json',
data: {
keywords: keywords
},
beforeSend: function () {
loading("#relatedArticlesList");
},
success: function (res) {
console.log(res);
var list = res;
$('#relatedArticlesList').html('');
for (var i = 0; i < list.length; i++) {
var time = timeParse(list[i].publishTime);
if (time.length > 10) {
time = time.substring(0, 10);
}
var html = '<div class="article-content-list">' +
'<a target="_blank" href="' + ctxPath + 'monitor/detail/' + list[i].article_public_id + '?menu=' + menu + '&groupid=' + groupId + '&projectid=' + projectId + '">' +
'<div class="font-medium">' + list[i].title + '</div>' +
'<div class="article-content-list-con text-over-2 font-13">' +
list[i].content +
'</div>' +
'<div class="article-content-footer">' +
'<span class="text-muted"><i class="mdi mdi-earth"></i> ' + list[i].sourceName + '</span>' +
'<span class="text-muted"><i class="mdi mdi-clock"></i> ' + time + '</span>' +
'</div>' +
'</a>' +
'</div>';
$('#relatedArticlesList').append(html);
}
if (list.length == 0) {
$('#relatedArticlesList').html('<div class="article-content-list">暂无数据!</div>');
}
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
if (xhr.status == 403) {
window.location.href = ctxPath + "login";
}
}
});
}
function isNull(arg) {
if (arg) {
return arg;
} else {
return '-';
}
}
// 左侧方案切换
function switchProject(event) {
let $event = $(event);
var groupId = $event.attr("data-groupid");
var projectId = $event.attr("data-index");
window.location.href = ctxPath + 'monitor?groupid=' + groupId + '&projectid=' + projectId;
}
// 情感分析
function emotionChart(data) {
var o = c3.generate({
bindto: "#mood",
size: {height: 200},
color: {pattern: ["#72d0c0", "#989898", "#ed8b80"]},
data: {
// columns: [
// ["正面", 7304],
// ["中性", 1540],
// ["负面", 1156],
// ],
columns: data,
type: "pie",
},
legend: {
show: false
}
});
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 253
- 0
src/main/resources/templates/timely_search/search_investment_detail.html View File

@@ -0,0 +1,253 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title"></h4>
<div class="detail-tips">
<span id="source"></span>
<span id="author"></span>
<span id="publish_time"></span>
<span id="yuanwen"></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content">
<div id="jianjie">
</div>
<br>
<div class="feed-activity-list">
<table class="table table-bordered">
<thead>
<tr>
<th>图标</th>
<th>受资方</th>
<th>时间</th>
<th>轮次</th>
<th>金额</th>
<th>投资方</th>
<th>采集时间</th>
</tr>
</thead>
<tbody id="list">
</tbody>
</table>
</div>
<br>
<div class="feed-activity-list">
<h3>融资历史</h3>
<table class="table table-bordered">
<thead>
<tr>
<th>序号</th>
<th>轮次</th>
<th>投资方</th>
<th>时间</th>
<th>金额</th>
</tr>
</thead>
<tbody id="list2">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
var investment = [[${investment}]];
$(function () {
breadCrumbs();
articleDetail();
});
// 文章详情
function articleDetail() {
let res = investment
console.log(res)
$('#title').html(res.title)
$("#jianjie").html('<p>简介 : '+res.infoIntro+'</p><p>行业 : ' + res.industry + '</p>');
var investorArray = JSON.parse(res.investorArray)
var investors = []
for (var j = 0; j < investorArray.length; j++) {
var investor = investorArray[j];
investors.push(investor.investorName)
}
var push_time=res.push_time;
push_time=/\d{4}-\d{1,2}-\d{1,2}/g.exec(push_time);
var html = '<tr>'
+'<td><img style="width: 100px;" src="'+res.companyLogo+'"></td>'
+'<td><a target="_blank" href="'+res.deatilUrl+'">'+res.companyName+'</a></td>'
+'<td>'+push_time+'</td>'
+'<td>'+res.rounds+'</td>'
+'<td>'+res.money+'</td>'
+'<td>'+investors.join('<br>')+'</td>'
+'<td>'+res.spider_time+'</td>'
+'</tr>'
$('#list').html(html)
var historyArray = JSON.parse(res.historyArray)
for (var i = 0; i < historyArray.length; i++) {
var obj = historyArray[i]
var history_time=obj.history_time;
history_time=/\d{4}-\d{1,2}-\d{1,2}/g.exec(push_time);
var html = '<tr>'
+'<td>'+(i+1)+'</td>'
+'<td>'+obj.history_rounds+'</td>'
+'<td>'+obj.history_investors+'</td>'
+'<td>'+history_time+'</td>'
+'<td>'+obj.history_money+'</td>'
+'</tr>'
$('#list2').append(html)
}
if (historyArray.length == 0) {
$('#list2').html('<tr><td colspan=5>暂无数据!</td></tr>')
}
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 181
- 0
src/main/resources/templates/timely_search/search_invite_detail.html View File

@@ -0,0 +1,181 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title" th:text="${invite.invite_title}"></h4>
<div class="detail-tips">
<span id="author" style="float: inherit;"><a th:text="${invite.company_name}"></a><span th:text="${invite.min_salary}"></span>-<span th:text="${invite.max_salary}"></span>/月</span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content">
<div class="conSelect detail">
<p class="titleList">职位信息</p>
<div id="duty_info">
<p th:text="${invite.duty_describe}"></p>
</div>
</div>
<div class="conSelect detail">
<p class="titleList">联系方式</p>
<div id="address">
<p th:text="${invite.work_address}"></p>
</div>
</div>
<div class="conSelect detail">
<p class="titleList">公司信息</p>
<div id="companyInfos">
<p th:text="${invite.company_intro}"></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
});
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 169
- 0
src/main/resources/templates/timely_search/search_judgment_detail.html View File

@@ -0,0 +1,169 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title" th:text="${judgment.title}"></h4>
<div class="detail-tips">
<!-- 截取时间(去除时分秒) -->
<span>法院:<span th:text="${judgment.caseCourt}"></span></span>
<span id="publish_time">发布时间:<span th:text="${#strings.substring(judgment.publishDate,0,10)}"></span></span>
<span id="author">仲裁时间:<span th:text="${#strings.substring(judgment.refereeTime,0,10)}"></span></span><br>
<span id="source">案件类型:<span th:text="${judgment.caseType}"></span></span>
<span id="source">信息来源:<span th:text="${judgment.sourceName}"></span></span>
<span id="yuanwen"><a target="_blank" th:href="${judgment.sourceUrl}">原文地址</a></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content" th:utext="${judgment.judgment_html}">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
});
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 172
- 0
src/main/resources/templates/timely_search/search_knowledge_detail.html View File

@@ -0,0 +1,172 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
#content td{
width: 25%;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title" th:text="${knowLedge.title}"></h4>
<div class="detail-tips">
<span id="author">申请号:<span th:text="${knowLedge.applyMark}"></span></span>
<span id="author" style="float: inherit;">申请日:<span th:text="${knowLedge.applyDay}"></span></span>
<!-- <span id="yuanwen"><a target="_blank" th:href="${bidding.detail_url}">原文地址</a></span> -->
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content" th:utext="${knowLedge.content_html}">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
let html=[[${knowLedge.content_html}]]
console.log(html)
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
});
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 211
- 0
src/main/resources/templates/timely_search/search_report_detail.html View File

@@ -0,0 +1,211 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<!-- <div class="card">
<div class="card-body">
</div>
</div> -->
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<h4 class="card-title" id="title"></h4>
<div class="detail-tips">
<span id="source"></span>
<span id="author"></span>
<span id="publish_time"></span>
<span id="yuanwen"></span>
</div>
<div class="detail-content" id="content">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
$(function () {
breadCrumbs();
articleDetail();
});
// 文章详情
function articleDetail() {
$.ajax({
url: ctxPath + 'fullsearch/getresearch-report-detail',
type: 'GET',
dataType: 'json',
data: {
article_public_id: articleId,
type:type
},
beforeSend: function () {
loading("#content")
},
success: function (res) {
console.log(res);
//res = JSON.parse(res);
let date=/\d{4}-\d{1,2}-\d{1,2}/g.exec(res.reportDate);
var html = '';
$('#title').html(res.title)
html+='<div>'+
'</div>'+
'<div style="margin-top: 5px;">'+
'<span style="float: left;">'+date+'</span>'+
'<a href="'+res.url+'" target="_black" style="float: left; margin-left: 20px;">'+
'</div>'+
'<i class="fa fa-arrows-alt"></i> 全屏查看</a> '+
'<p id="detial_information" style="width:85%;margin-top: 50px !important;">'+
'<iframe id="myiframe" src="'+res.url+'" scrolling="no" name="pdfPage" frameborder="0" width="100%" height="905px">'+
'</p>'
'</iframe>'+
$('#content').html(html);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr);
if (xhr.status == 403) {
window.location.href = ctxPath + "login";
}
}
}
);
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

+ 422
- 0
src/main/resources/templates/timely_search/search_result.html View File

@@ -0,0 +1,422 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<meta name="referrer" content="no-referrer" />
<link rel="icon" type="image/png" sizes="16x16"
th:href="@{/assets/images/favicon.png}">
<title>即时搜索·网络情报分析系统</title>
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/dist/css/site.min.css}" rel="stylesheet" />
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}"
rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<link rel="stylesheet" href="../dist/css/main.css" />
<style type="text/css">
i {
font-style: normal;
}
.monitor-content-title>a {
cursor: pointer;
}
.ntag {
color: #128bed;
background: #e7f4ff;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
.govtag {
color: #666;
background: #e7f4ff;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
.ipotag {
color: #747f88;
background: #fff7f6;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
.eventlable {
color: #747f88;
background: #e7f4f6;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
.industrylable {
color: #747f88;
background: #fff800;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
.categorylable {
color: #ffffff;
background: #74aeea;
height: 22px;
font-weight: normal;
display: inline-block;
line-height: 14px;
font-size: 12px;
padding: 4px 8px 4px 8px;
margin-right: 4px;
border-radius: 2px;
}
#plus:hover {
color: #128bed;
}
#articlebody{
padding-top: 10px !important;
}
.ddda {
line-height: 35px;
color: #979797;
font-size: 14px;
cursor: pointer;
width: 6.34%;
font-family: "Microsoft YaHei";
position: relative;
left: 0;
}
.numaa {
color: #b6b6b6;
}
/* .btn {
padding: 0px;
} */
.industrylist {
/* width: 68vw; */
width: 100%;
height: 40px;
overflow: hidden;
float: left;
margin: 0 auto;
}
.industrylist1 {
/* width: 68vw; */
width: 100%;
height: auto;
overflow: auto;
float: left;
margin: 0 auto;
}
</style>
<style type="text/css">
.monitor-content-title>a {
cursor: pointer
}
.right-pic {
float: right;
min-height: 100px;
margin-right: 60px;
margin-top: 15px;
}
.head-img {
width: 35px;
height: 35px;
border-radius: 50%;
overflow: hidden;
margin-right: 10px;
}
.head-img>div {
width: 100%;
height: 100%;
background-size: cover !important;
background-position: center !important;
}
.bd-answer {
background: #f8f8f8;
padding: 5px;
border-radius: 4px;
}
.bd-tips {
margin-top: 10px;
margin-bottom: 10px;
}
.first-line {
display: flex;
align-items: center;
margin-bottom: 10px;
position: relative;
}
#plus:hover {
color: #128bed;
}
.ddda {
line-height: 35px;
color: #979797;
font-size: 14px;
cursor: pointer;
width: 6.34%;
font-family: "Microsoft YaHei";
position: relative;
left: 0;
}
.industrylist {
/* width: 68vw; */
width: 100%;
height: 40px;
overflow: hidden;
float: left;
margin: 0 auto;
}
.custom-page-breadcrumb {
width: calc(100%) !important;
position: fixed;
top: 64px;
left: 190px;
z-index: 1;
}
.left-filtrate {
width: calc(100%) !important;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content left-filtrate">
<div class="custom-page-breadcrumb">
<div class="custom-box-info">
<div class="row">
<div class="col-lg-10 align-self-center">
<div class="d-flex align-items-center">
<div class="search-group d-flex" style="padding-left: 0;">
<div style="width: 100%;">
<input id="searchWord" th:value="${searchWord}" type="text"
class="form-control"
placeholder="请输入企业名称、企业简称、产品名、行业名称、政策法规、人名等,多关键词用空格隔开">
</div>
<button id="searchBtn"
style="z-index: 1; border-radius: 0 2px 2px 0 !important; width: auto;"
class="btn btn-info">即时搜索</button>
</div>
</div>
</div>
<!-- <div class="col-lg-2 align-self-center ">-->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min">-->
<!-- <span id="search-setting" onclick="searchSetting()">搜索设置</span>-->
<!-- </div>-->
<!-- </div>-->
</div>
<ul class="create-tab-report pro-bb" id="search-tab">
</ul>
<div class="col-lg-2 align-self-center " id="all-count">
<div
class="d-flex no-block justify-content-end align-items-center data-number-min">
总数据量 <span id="totalCount">0</span>条
</div>
</div>
</div>
</div>
<div class="p-20" id="my_serach_information">
<div class="card">
<div class="p-t-10">
<!-- double line start-->
<div class="warning-edit-double">
<div style="display: flex; overflow: hidden; width: 90%">
<div class="preference-left"
style="padding-left: 15px; width: 100px !important">
搜索引擎</div>
<div class="m-l-0 industrylist" id="engine">
<!-- <span class="badge badge-pill badge-light">全部</span> -->
</div>
<!-- <div
class="m-l-0"
id="industrylist1"
style="display: none; width: 85%"
>
<span class="badge badge-pill badge-light">全部(0)</span>
</div> -->
</div>
<!-- <div id="plus" class="ddda">
更多&nbsp;<i data-v-8ad03c8e="" class="fa fa-angle-down"></i>
</div> -->
</div>
<!-- double line end-->
</div>
</div>
</div>
<div class="p-20" id="articlebody" style="padding-top: 10px !important;">
<!-- <div class="p-20"> -->
<div class="card" id="card-body">
<div class="card-body">
<div class="monitor-content" id="monitor-content"></div>
<div class="all-pagebox m-t-20">
<ul class="pagination float-right" id="page">
</ul>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司
苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/common/analyze-cloud.js}"></script>
<script th:src=" @{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src=" @{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src=" @{/dist/js/app.min.js}"></script>
<script th:src=" @{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src=" @{/dist/js/app-style-switcher.js}"></script>
<script
th:src=" @{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src=" @{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src=" @{/dist/js/waves.js}"></script>
<script th:src=" @{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script
th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script
th:src="@{/assets/libs/bootstrap-datepicker/dist/locales/bootstrap-datepicker.zh-CN.min.js}"></script>
<script
th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/libs/block-ui/jquery.blockUI.js}"></script>
<!--js调用-->
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/jutils-src"></script> -->
<script th:src="@{/dist/js/jutils.min.js}"></script>
<script th:inline="javascript" type="text/javascript">
$("#currentyear").text((new Date()).getFullYear());
var ctx = [[@{/}]];
var pageNoData = [[${pageNoData}]];
var sourcename = [[${source_name}]];
var website_id = [[${website_id}]];
var classify = [[${classify}]];
var menuStyle = [[${menuStyle}]];
var pageSize = [[${pageSize}]];
if(!pageSize) pageSize = 25;
var fulltype = [[${fulltype}]];
var stype = [[${stype}]];
var onlyid = '';
function setFilterType(idclass){
var id = "#"+idclass+""
var object = $(id)
var active = "badge-info";
var normal = "badge-light";
var act = object.attr("class")
if (act.indexOf(active) == -1) {
object.siblings().removeClass(active);
object.siblings().addClass(normal);
object.removeClass(normal);
object.addClass(active);
}
}
function setTypeRadio(idclass){
var id = "#"+idclass+""
var object = $(id)
var active = "badge-info";
var normal = "badge-light";
var act = object.attr("class")
if (act.indexOf(active) == -1) {
object.siblings().removeClass(active);
object.siblings().addClass(normal);
object.removeClass(normal);
object.addClass(active);
if(full_type == 100){
lawyerList(1)
}else if(full_type == 101){
executionPersonList(1)
}
}
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), null, null);
})
function search() {
console.log(full_type)
if(full_type==100){
lawyerList(1)
}else if(full_type==101){
executionPersonList(1)
}
}
</script>
<script
th:src="@{/dist/timelysearch/search_result_data.js?unixtemp=122222333222222211132}"></script>
<script th:src="@{/dist/timelysearch/search_result.js?unixtemp=122222312221132222332}"></script>
<script th:src="@{/dist/timelysearch/monitorsearch.js?unixtemp=1222221221122233332}"></script>
</body>
</html>

+ 196
- 0
src/main/resources/templates/timely_search/search_thesisn_detail.html View File

@@ -0,0 +1,196 @@
<!DOCTYPE html>
<html dir="ltr" lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="referrer" content="no-referrer"/>
<meta name="author" content="">
<!-- Favicon icon -->
<link rel="icon" type="image/png" sizes="16x16" th:href="@{/assets/images/favicon.png}">
<title>文章详情·网络情报分析系统</title>
<!-- Custom CSS -->
<link th:href="@{/dist/css/style.min.css}" rel="stylesheet">
<link th:href="@{/dist/css/custom.css}" rel="stylesheet">
<link th:href="@{/assets/libs/sweetalert2/dist/sweetalert2.min.css}" rel="stylesheet">
<link rel="stylesheet" type="text/css"
th:href="@{/assets/libs/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css}">
<!--<script src="//at.alicdn.com/t/font_1709263_w16payhc3l.js"></script>-->
<link th:href="@{/assets/extra-libs/c3/c3.min.css}" rel="stylesheet">
<script th:src="@{/common/analyze-cloud.js}"></script>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
.detail-content div {
visibility: unset !important;
}
.page-up-next {
justify-content: space-between;
padding-top: 40px;
border-top: 1px dashed rgba(0, 0, 0, .1);
align-items: center;
}
.page-up-next > a {
width: calc(50% - 10px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 12px;
color: #2962FF !important;
}
.page-up-next > a:first-child {
text-align: left;
}
.page-up-next > a:last-child {
text-align: right;
}
.page-up-next > a > span {
margin-right: 10px;
}
</style>
</head>
<body>
<div id="main-wrapper">
<div th:replace="common/header::header"></div>
<div th:replace="common/search_left::search_left"></div>
<div class="page-wrapper">
<div class="right-part right-content">
<!-- nav start-->
<div class="page-breadcrumb">
<div class="row">
<div class="col-lg-5 align-self-center">
<div class="d-flex align-items-center">
<nav aria-label="breadcrumb">
<ol class="breadcrumb" id="breadCrumbs">
</ol>
</nav>
</div>
</div>
<!-- <div class="col-lg-7 align-self-center "> -->
<!-- <div class="d-flex no-block justify-content-end align-items-center data-number-min"> -->
<!-- <button class="btn btn-outline-secondary btn-sm bnone" type="button" id="goback"> -->
<!-- <i class="mdi mdi-redo-variant"></i> 返回 -->
<!-- </button> -->
<!-- </div> -->
<!-- </div> -->
</div>
</div>
<!-- nav end-->
<div class="p-20">
<!-- basic table -->
<div class="row m-b-20">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="card-title" id="title"></h4>
<div class="detail-tips">
<span id="source"></span>
<span id="author"></span>
<span id="read_num"></span>
<span id="publish_time"></span>
<span id="yuanwen"></span>
</div>
</div>
</div>
<div class="card m-b-0" style="min-height: 100vh;">
<div class="card-body">
<div class="detail-content" id="content">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-footer">
© 2014-<span id="currentyear"></span> 南京涌亿思信息技术有限公司 苏ICP备17066984号-1
</div>
</div>
</div>
</div>
<script th:src="@{/assets/libs/jquery/dist/jquery.min.js}"></script>
<script th:src="@{/assets/libs/popper.js/dist/umd/popper.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap/dist/js/bootstrap.min.js}"></script>
<script th:src="@{/dist/js/app.min.js}"></script>
<script th:src="@{/dist/js/app.init.light-sidebar.js}"></script>
<script th:src="@{/dist/js/app-style-switcher.js}"></script>
<script th:src="@{/assets/libs/perfect-scrollbar/dist/perfect-scrollbar.jquery.min.js}"></script>
<script th:src="@{/assets/extra-libs/sparkline/sparkline.js}"></script>
<script th:src="@{/dist/js/waves.js}"></script>
<script th:src="@{/dist/js/sidebarmenu.js}"></script>
<script th:src="@{/dist/js/custom.min.js}"></script>
<script th:src="@{/assets/libs/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js}"></script>
<script th:src="@{/assets/libs/sweetalert2/dist/sweetalert2.all.min.js}"></script>
<script th:src="@{/dist/js/pages.js}"></script>
<script th:src="@{/assets/extra-libs/c3/d3.min.js}"></script>
<script th:src="@{/assets/extra-libs/c3/c3.min.js}"></script>
<script th:src="@{/common/tools.js}"></script>
<script th:src="@{/dist/search_detail.js}"></script>
<script th:src="@{/dist/baidu/baidu_statistics.js}"></script>
<script type="text/javascript" th:inline="javascript">
$("#currentyear").text((new Date()).getFullYear());
var articleId = [[${articleid}]];
var menu = [[${menu}]];
var type = [[${type}]];
var thesisn = [[${thesisn}]];
$(function () {
breadCrumbs();
articleDetail();
});
// 文章详情
function articleDetail() {
let res = thesisn
$('#title').html(res.title)
var push_time=res.spider_time;
var push = push_time.substr(0,16);
var authorName = JSON.parse(res.co_author);
var name = "";
for(let i=0;i<authorName.length;i++){
name = authorName[i].name+","+name;
}
name = name.substring(0,name.length-1)
$('#source').html('来源:' + res.source_name)
$('#author').html('作者:'+ name)
$('#read_num').html('阅读量:' + res.read_num)
$('#publish_time').html('时间:'+ push)
$('#yuanwen').html('<a href="'+res.detail_url+'" target="_blank">查看原文</a>')
var html = '<div class="feed-element">'+
' <div class="search-result" style="width: 90%;margin: auto;">'+
'<div class="content-con">'+res.summary+'</div>'+
'<div class = "content-con" style="margin-top: 50px !important;">关键词:'+JSON.parse(res.key_words)+'<div>'+
'</div>'+
' </div>'
$('#content').html(html)
}
$('.navLi').click(function () {
jumpNavLocation($(this).data('type'), groupId, projectId);
})
$("#goback1").click(function (param) {
// window.location.href = ctxPath + "monitor?projectId="+projectId+"&groupid="+groupId+"&page=6";
});
</script>
</body>
</html>

Loading…
Cancel
Save