|
@@ -1,5 +1,5 @@
|
|
|
const echarts = require("echarts");
|
|
|
-const { post, api, getUrlArgObject } = require('./api.js');
|
|
|
+const { post, get, api, getUrlArgObject } = require('./api.js');
|
|
|
const iconUp = require('./../resources/images/iconUp.png');
|
|
|
const iconDown = require('./../resources/images/iconDown.png');
|
|
|
|
|
@@ -10,31 +10,76 @@ let disease = getUrlArgObject("disease")
|
|
|
|
|
|
//关系图
|
|
|
function getGraph(val, type) {
|
|
|
- return post(api.getGraph, {
|
|
|
- "inputStr": val,
|
|
|
- "labelName": type
|
|
|
- }).then(res => {
|
|
|
- if (res.data.code == 0) {
|
|
|
- // select_type = select_type_noSearch
|
|
|
- $('#searchInp').val(val)
|
|
|
- drawGraph(res.data.data, null)
|
|
|
- window.graphTxt = val
|
|
|
- window.refreshTree = true
|
|
|
-
|
|
|
- if (type != select_type) {
|
|
|
- select_type = type
|
|
|
+ let url = ""
|
|
|
+ let params = null
|
|
|
+
|
|
|
+ if (window.knowledgeMapSetting.self) {
|
|
|
+ url = api.getSelfGraph
|
|
|
+ params = {
|
|
|
+ "input_str": val,
|
|
|
+ "label_name": type,
|
|
|
+ "user_id": localStorage.getItem("userId") ? +JSON.parse(localStorage.getItem("userId")) : -1
|
|
|
+ }
|
|
|
+ return get(url, params).then(res => {
|
|
|
+
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ let records = res.data.records[0].records || []
|
|
|
+ for (let i = 0; i < records.node.length; i++) {
|
|
|
+ records.node[i].label = records.node[i].name
|
|
|
+ records.node[i].name = i + 1
|
|
|
+ }
|
|
|
+ // console.log("getSelfGraph", records.node)
|
|
|
+ // select_type = select_type_noSearch
|
|
|
+ $('#searchInp').val(val)
|
|
|
+ window.graphTxt = val
|
|
|
+ window.refreshTree = true
|
|
|
+ // console.log(val, type, window.select_type)
|
|
|
+ window.select_type = type
|
|
|
+ select_type_noSearch = type
|
|
|
let renderTabInfo = getTab(type)
|
|
|
renderTab(renderTabInfo)
|
|
|
+ addRecord(val, type)
|
|
|
+ setSelectName(select_type)
|
|
|
+ drawGraph(records, null)
|
|
|
+ } else {
|
|
|
+ let nodeStr
|
|
|
+ nodeStr = '<li class="ellipsis">暂无符合数据</li>'
|
|
|
+ $(".tabNameList").html(nodeStr)
|
|
|
+ $(".tabNameList").show()
|
|
|
+ window.refreshTree = false
|
|
|
}
|
|
|
- addRecord(val, type)
|
|
|
- } else {
|
|
|
- let nodeStr
|
|
|
- nodeStr = '<li class="ellipsis">暂无符合数据</li>'
|
|
|
- $(".tabNameList").html(nodeStr)
|
|
|
- $(".tabNameList").show()
|
|
|
- window.refreshTree = false
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ url = api.getGraph
|
|
|
+ params = {
|
|
|
+ "inputStr": val,
|
|
|
+ "labelName": type
|
|
|
}
|
|
|
- })
|
|
|
+ return post(url, params).then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ // select_type = select_type_noSearch
|
|
|
+ $('#searchInp').val(val)
|
|
|
+ drawGraph(res.data.data, null)
|
|
|
+ window.graphTxt = val
|
|
|
+ window.refreshTree = true
|
|
|
+
|
|
|
+ if (type != select_type) {
|
|
|
+ select_type = type
|
|
|
+ let renderTabInfo = getTab(type)
|
|
|
+ renderTab(renderTabInfo)
|
|
|
+ }
|
|
|
+ addRecord(val, type)
|
|
|
+ } else {
|
|
|
+ let nodeStr
|
|
|
+ nodeStr = '<li class="ellipsis">暂无符合数据</li>'
|
|
|
+ $(".tabNameList").html(nodeStr)
|
|
|
+ $(".tabNameList").show()
|
|
|
+ window.refreshTree = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function reDrawGraph(name, label) {
|
|
@@ -47,69 +92,145 @@ function reDrawGraph(name, label) {
|
|
|
label = $(".selectedName").html().trim()
|
|
|
name = $("#searchInp").val().trim()
|
|
|
}
|
|
|
- post(api.getGraph, {
|
|
|
- "inputStr": name,
|
|
|
- "labelName": label
|
|
|
- }).then(res => {
|
|
|
- if (res.data.code == 0) {
|
|
|
- res.data.data.node.forEach(node => {
|
|
|
- if (!node.itemStyle.display && node.label && node.symbol == 'circle') {
|
|
|
- node.symbol = 'pin'
|
|
|
- // node.symbolSize = [node.symbolSize * 1.5, node.symbolSize]
|
|
|
+ let url = ""
|
|
|
+ let params = null
|
|
|
+ if (window.knowledgeMapSetting.self) {
|
|
|
+ url = api.getSelfGraph
|
|
|
+ params = {
|
|
|
+ "input_str": name,
|
|
|
+ "label_name": label,
|
|
|
+ "user_id": localStorage.getItem("userId") ? JSON.parse(localStorage.getItem("userId")) : -1
|
|
|
+ }
|
|
|
+ get(url, params).then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ res.data.data.node.forEach(node => {
|
|
|
+ if (!node.itemStyle.display && node.label && node.symbol == 'circle') {
|
|
|
+ node.symbol = 'pin'
|
|
|
+ // node.symbolSize = [node.symbolSize * 1.5, node.symbolSize]
|
|
|
+ }
|
|
|
+ });
|
|
|
+ window.graphMapUpdatedData = res.data.data
|
|
|
+ let expandPropertyNodes = [] //要展开节点的数据
|
|
|
+ let currentNode = null //当前显示信息的节点
|
|
|
+ let legendData = null //新的图例数据
|
|
|
+ for (let i = 0; i < window.graphMapUpdatedData.node.length; i++) {
|
|
|
+ const node = window.graphMapUpdatedData.node[i]
|
|
|
+ // console.log(window.knowledgeMapSetting.currentNodeId, node.nodeId)
|
|
|
+ if (node.nodeId === window.knowledgeMapSetting.currentNodeId) {
|
|
|
+ currentNode = node
|
|
|
+ }
|
|
|
+ for (let j = 0; j < window.knowledgeMapSetting.expandPropertyId.length; j++) {
|
|
|
+ const expandNodeId = window.knowledgeMapSetting.expandPropertyId[j]
|
|
|
+ if (expandNodeId === node.nodeId) {
|
|
|
+ expandPropertyNodes.push(node)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
- window.graphMapUpdatedData = res.data.data
|
|
|
- let expandPropertyNodes = [] //要展开节点的数据
|
|
|
- let currentNode = null //当前显示信息的节点
|
|
|
- let legendData = null //新的图例数据
|
|
|
- for (let i = 0; i < window.graphMapUpdatedData.node.length; i++) {
|
|
|
- const node = window.graphMapUpdatedData.node[i]
|
|
|
- // console.log(window.knowledgeMapSetting.currentNodeId, node.nodeId)
|
|
|
- if (node.nodeId === window.knowledgeMapSetting.currentNodeId) {
|
|
|
- currentNode = node
|
|
|
+ window.knowledgeMapSetting.legends = window.graphMapUpdatedData.categories.slice(2)
|
|
|
+ //重新计算showLegendNum
|
|
|
+ reShowLegendNum()
|
|
|
+ if (window.knowledgeMapSetting.showLegendAll) {
|
|
|
+ legendData = window.knowledgeMapSetting.legends.map(el => el.name)
|
|
|
+ } else {
|
|
|
+ legendData = window.knowledgeMapSetting.legends.slice(0, window.knowledgeMapSetting.showLegendNum).map(el => el.name)
|
|
|
}
|
|
|
- for (let j = 0; j < window.knowledgeMapSetting.expandPropertyId.length; j++) {
|
|
|
- const expandNodeId = window.knowledgeMapSetting.expandPropertyId[j]
|
|
|
- if (expandNodeId === node.nodeId) {
|
|
|
- expandPropertyNodes.push(node)
|
|
|
+
|
|
|
+ expandPropertyNodePad(expandPropertyNodes) //添加展开属性节点
|
|
|
+ reNodeCloseAndExpand(legendData) //添加隐藏节点
|
|
|
+ window.graphMap.setOption({
|
|
|
+ legend: [{
|
|
|
+ data: legendData
|
|
|
+ }],
|
|
|
+ series: [{
|
|
|
+ edgeLabel: {
|
|
|
+ formatter: function (x) {
|
|
|
+ if (x.data.hideLabel) {
|
|
|
+ return " ";
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return x.data.value; //横线关系
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ categories: window.graphMapUpdatedData.categories,
|
|
|
+ type: 'graph',
|
|
|
+ data: window.graphMapUpdatedData.node, // 更新节点数据
|
|
|
+ links: window.graphMapUpdatedData.links, // 更新边数据
|
|
|
+ }]
|
|
|
+ }, false); // 仅更新指定的部分,不重绘图表
|
|
|
+ rightMsgRender(currentNode) //重新渲染右侧数据
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ url = api.getGraph
|
|
|
+ params = {
|
|
|
+ "inputStr": name,
|
|
|
+ "labelName": label
|
|
|
+ }
|
|
|
+ post(url, params).then(res => {
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ let records = res.data.records[0].records
|
|
|
+ records.node.forEach(node => {
|
|
|
+ if (!node.itemStyle.display && node.label && node.symbol == 'circle') {
|
|
|
+ node.symbol = 'pin'
|
|
|
+ // node.symbolSize = [node.symbolSize * 1.5, node.symbolSize]
|
|
|
+ }
|
|
|
+ });
|
|
|
+ window.graphMapUpdatedData = records
|
|
|
+ let expandPropertyNodes = [] //要展开节点的数据
|
|
|
+ let currentNode = null //当前显示信息的节点
|
|
|
+ let legendData = null //新的图例数据
|
|
|
+ for (let i = 0; i < window.graphMapUpdatedData.node.length; i++) {
|
|
|
+ const node = window.graphMapUpdatedData.node[i]
|
|
|
+ // console.log(window.knowledgeMapSetting.currentNodeId, node.nodeId)
|
|
|
+ if (node.nodeId === window.knowledgeMapSetting.currentNodeId) {
|
|
|
+ currentNode = node
|
|
|
+ }
|
|
|
+ for (let j = 0; j < window.knowledgeMapSetting.expandPropertyId.length; j++) {
|
|
|
+ const expandNodeId = window.knowledgeMapSetting.expandPropertyId[j]
|
|
|
+ if (expandNodeId === node.nodeId) {
|
|
|
+ expandPropertyNodes.push(node)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- window.knowledgeMapSetting.legends = window.graphMapUpdatedData.categories.slice(2)
|
|
|
- //重新计算showLegendNum
|
|
|
- reShowLegendNum()
|
|
|
- if (window.knowledgeMapSetting.showLegendAll) {
|
|
|
- legendData = window.knowledgeMapSetting.legends.map(el => el.name)
|
|
|
- } else {
|
|
|
- legendData = window.knowledgeMapSetting.legends.slice(0, window.knowledgeMapSetting.showLegendNum).map(el => el.name)
|
|
|
- }
|
|
|
+ window.knowledgeMapSetting.legends = window.graphMapUpdatedData.categories.slice(2)
|
|
|
+ //重新计算showLegendNum
|
|
|
+ reShowLegendNum()
|
|
|
+ if (window.knowledgeMapSetting.showLegendAll) {
|
|
|
+ legendData = window.knowledgeMapSetting.legends.map(el => el.name)
|
|
|
+ } else {
|
|
|
+ legendData = window.knowledgeMapSetting.legends.slice(0, window.knowledgeMapSetting.showLegendNum).map(el => el.name)
|
|
|
+ }
|
|
|
|
|
|
- expandPropertyNodePad(expandPropertyNodes) //添加展开属性节点
|
|
|
- reNodeCloseAndExpand(legendData) //添加隐藏节点
|
|
|
- window.graphMap.setOption({
|
|
|
- legend: [{
|
|
|
- data: legendData
|
|
|
- }],
|
|
|
- series: [{
|
|
|
- edgeLabel: {
|
|
|
- formatter: function (x) {
|
|
|
- if (x.data.hideLabel) {
|
|
|
- return " ";
|
|
|
- }
|
|
|
- else {
|
|
|
- return x.data.value; //横线关系
|
|
|
- }
|
|
|
+ expandPropertyNodePad(expandPropertyNodes) //添加展开属性节点
|
|
|
+ reNodeCloseAndExpand(legendData) //添加隐藏节点
|
|
|
+ window.graphMap.setOption({
|
|
|
+ legend: [{
|
|
|
+ data: legendData
|
|
|
+ }],
|
|
|
+ series: [{
|
|
|
+ edgeLabel: {
|
|
|
+ formatter: function (x) {
|
|
|
+ if (x.data.hideLabel) {
|
|
|
+ return " ";
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return x.data.value; //横线关系
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
- },
|
|
|
- categories: window.graphMapUpdatedData.categories,
|
|
|
- type: 'graph',
|
|
|
- data: window.graphMapUpdatedData.node, // 更新节点数据
|
|
|
- links: window.graphMapUpdatedData.links, // 更新边数据
|
|
|
- }]
|
|
|
- }, false); // 仅更新指定的部分,不重绘图表
|
|
|
- rightMsgRender(currentNode) //重新渲染右侧数据
|
|
|
- }
|
|
|
- })
|
|
|
+ categories: window.graphMapUpdatedData.categories,
|
|
|
+ type: 'graph',
|
|
|
+ data: window.graphMapUpdatedData.node, // 更新节点数据
|
|
|
+ links: window.graphMapUpdatedData.links, // 更新边数据
|
|
|
+ }]
|
|
|
+ }, false); // 仅更新指定的部分,不重绘图表
|
|
|
+ rightMsgRender(currentNode) //重新渲染右侧数据
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
function reShowLegendNum() {
|