@@ -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> | |||
@@ -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; | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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 | |||
} | |||
} |
@@ -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); | |||
} |
@@ -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); | |||
} | |||
} |
@@ -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)); | |||
} | |||
} |
@@ -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; | |||
} | |||
} |
@@ -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(); | |||
} | |||
} |
@@ -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> |
@@ -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) | |||
@@ -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 | |||
// } | |||
// ); | |||
// } |
@@ -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') { | |||
@@ -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> 搜索</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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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('' + currentBeforeId + '','' + groupId + '','' + projectId + '')"><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('' + currentAfterId + '','' + groupId + '','' + projectId + '')"><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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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> |
@@ -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"> | |||
更多 <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> |
@@ -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> |