@@ -212,6 +212,15 @@ | |||||
<artifactId>hanlp</artifactId> | <artifactId>hanlp</artifactId> | ||||
<version>portable-1.8.2</version> | <version>portable-1.8.2</version> | ||||
</dependency> | </dependency> | ||||
<dependency> | |||||
<groupId>org.java-websocket</groupId> | |||||
<artifactId>Java-WebSocket</artifactId> | |||||
<version>1.3.8</version> | |||||
</dependency> | |||||
</dependencies> | </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(!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(){ | function listFullPolymerization(){ | ||||
$.ajax({ | $.ajax({ | ||||
type: 'GET', | type: 'GET', | ||||
url: ctx + 'fullsearch/listFullPolymerization', | |||||
url: ctx + 'timelysearch/listFullPolymerization', | |||||
dataType: 'json', | dataType: 'json', | ||||
data: {}, | data: {}, | ||||
contentType: 'application/json;charset=utf-8', | contentType: 'application/json;charset=utf-8', | ||||
@@ -69,11 +74,11 @@ function listFullPolymerization(){ | |||||
if(full_poly == res[i].id){ | if(full_poly == res[i].id){ | ||||
aaa = 'sidebar-item comactive' | aaa = 'sidebar-item comactive' | ||||
idList = res[i].value | 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)">' | + '<a class="sidebar-link waves-effect waves-dark" href="javascript:void(0)">' | ||||
+ ' <i class="'+res[i].icon+'"></i>' | + ' <i class="'+res[i].icon+'"></i>' | ||||
+ ' <span class="hide-menu">' + res[i].name + '</span>' | |||||
+ ' <span class="hide-menu">' + res[i].type_name + '</span>' | |||||
+ ' </a>' | + ' </a>' | ||||
+ '</li>' | + '</li>' | ||||
$('#sidebarnav').append(htmlStr) | $('#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> | </a> | ||||
</li> | </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"> | 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 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"> | <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> | </a> | ||||
</li> --> | |||||
</li> | |||||
<li data-type="public_option" th:classappend="${menu=='public_option'?'nav-active3':''}" | <li data-type="public_option" th:classappend="${menu=='public_option'?'nav-active3':''}" | ||||
class="nav-item dropdown hover-none navLi" id="yqypfx"> | class="nav-item dropdown hover-none navLi" id="yqypfx"> | ||||
<a class="nav-link dropdown-toggle waves-effect waves-dark"> | <a class="nav-link dropdown-toggle waves-effect waves-dark"> | ||||
@@ -513,7 +513,7 @@ | |||||
window.location.href = ctxPath + 'volume' + param; | window.location.href = ctxPath + 'volume' + param; | ||||
} | } | ||||
else if (menu == 'full_search') { | else if (menu == 'full_search') { | ||||
window.location.href = ctxPath + 'fullsearch'; | |||||
window.location.href = ctxPath + 'timelysearch'; | |||||
}else if (menu == 'public_option') { | }else if (menu == 'public_option') { | ||||
window.location.href = ctxPath + 'publicoption'; | window.location.href = ctxPath + 'publicoption'; | ||||
}else if (menu == 'syswarning') { | }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> |