diff --git a/src/store/groupEvolution/index.js b/src/store/groupEvolution/index.js index 88aeeb3..7d50b04 100644 --- a/src/store/groupEvolution/index.js +++ b/src/store/groupEvolution/index.js @@ -17,8 +17,6 @@ import { getStructuralEvolutionAnalysisTimeLine, getStructuralEvolutionAnalysisInfoList, getStructuralEvolutionAnalysisPost, - - getGroupMemberInfoList, getGroupMemberTimeLine, getGroupMemberChart, @@ -31,11 +29,9 @@ import { getAbnormalGroupInteractionChart, getAbnormalGroupBehaviorPosts, getAbnormalGroupBehaviorDetail, - getRelationGraphByUtcTime } from "@/service/api/groupEvolution" import { TansTimestamp, utcStringToHHMMSS, getMaxCeiled, parsePercentage } from "@/utils/transform" -import { time } from "echarts" export const useGroupDiscoveryStore = defineStore("groupDiscovery", { state: () => ({ @@ -270,140 +266,11 @@ export const useGroupDiscoveryStore = defineStore("groupDiscovery", { export const useGroupStructureStore = defineStore("groupStructure", { state: () => ({ - groupList: [ - { - id: 1, - type: "群体一", - focusedTopic: "#中国海警首次登检菲律宾运补船只", - innerNum: 20, - outerNum: 100 - }, - { - id: 2, - type: "群体二", - focusedTopic: "#外交部回应中国海警缴获菲土乓枪支", - innerNum: 20, - outerNum: 100 - }, - { - id: 3, - type: "群体三", - focusedTopic: "#社会群体对中国海警缴获菲土乓枪支", - innerNum: 20, - outerNum: 100 - } - ], + groupList: [], graph: {}, timeList: [], - chartData: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 1, interval: 0.2 }, - seriesList: [ - { - data: [0.3055, 0.3939, 0.5813, 0.6094, 0.6289], - name: "", - themeColor: "#2AB8FD" - } - ] - }, - chartsData: { - /* topSelfMedia: [ - { - id: 1, - name: "内部密度指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 0.0035, interval: 0.0005 }, - seriesList: [ - { - data: [0.0005, 0.002, 0.0024, 0.0026, 0.0027], - name: "", - themeColor: "#2AB8FD" - } - ] - } - }, - { - id: 2, - name: "外部拓展指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2.1, interval: 0.3 }, - seriesList: [ - { - name: "", - themeColor: "#2AB8FD", - data: [1.9787, 0.6044, 0.6757, 0.6763, 0.6853] - } - ] - } - } - ], - officalMedia: [ - { - id: 1, - name: "内部密度指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 0.0035, interval: 0.0005 }, - seriesList: [ - { - name: "", - themeColor: "#2AB8FD", - data: [0.0001, 0.02, 0.024, 0.026, 0.027] - } - ] - } - }, - { - id: 2, - name: "外部拓展指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2.1, interval: 0.3 }, - seriesList: [ - { - name: "", - themeColor: "#2AB8FD", - data: [1.787, 0.044, 0.757, 0.763, 0.853] - } - ] - } - } - ], - ordinaryMedia: [ - { - id: 1, - name: "内部密度指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 0.0035, interval: 0.0005 }, - seriesList: [ - { - name: "", - themeColor: "#2AB8FD", - data: [0.01, 0.2, 0.24, 0.26, 0.27] - } - ] - } - }, - { - id: 2, - name: "外部拓展指数演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2.1, interval: 0.3 }, - seriesList: [ - { - name: "", - themeColor: "#2AB8FD", - data: [1.87, 0.44, 0.57, 0.63, 0.53] - } - ] - } - } - ] */ - }, + chartData: {}, + chartsData: {}, wordCloudData: [ { text: "佩洛西", @@ -557,15 +424,15 @@ export const useGroupStructureStore = defineStore("groupStructure", { this.timeList = res.data }, // 初始化群体结构演化分析信息列表 - async initializeStructuralEvolutionAnalysisInfoList(time = '2024-06-19T07:57:46Z') { + async initializeStructuralEvolutionAnalysisInfoList(time = "2024-06-19T07:57:46Z") { const res = await getStructuralEvolutionAnalysisInfoList(time) - this.groupList = res.data.map(item => ({ + this.groupList = res.data.map((item) => ({ id: item.id, type: item.type, name: item.name, focusedTopic: item.focusedTopic, innerNum: parsePercentage(item.innerNum), - outerNum: parsePercentage(item.outerNum), + outerNum: parsePercentage(item.outerNum) })) }, @@ -588,46 +455,55 @@ export const useGroupStructureStore = defineStore("groupStructure", { // 初始化群体结构演化分析图表--右上方 async initializeStructuralEvolutionAnalysisChart() { const res = await getStructuralEvolutionAnalysisChart() - console.log(res); - - - const topSelfMedia = res.data.topSelfMedia.map(item => ({ + const topSelfMedia = res.data.topSelfMedia.map((item) => ({ id: item.id, name: item.name, chart: { - xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, - seriesList: item.chart.seriesList.map((item => ({ + xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, + seriesList: item.chart.seriesList.map((item) => ({ data: item.data, name: item.name, themeColor: "#2AB8FD" - }))) + })) } })) - const officalMedia = res.data.officalMedia.map(item => ({ + const officalMedia = res.data.officalMedia.map((item) => ({ id: item.id, name: item.name, chart: { - xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, - seriesList: item.chart.seriesList.map((item => ({ + xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, + seriesList: item.chart.seriesList.map((item) => ({ data: item.data, name: item.name, themeColor: "#2AB8FD" - }))) + })) } })) - const ordinaryMedia = res.data.ordinaryMedia.map(item => ({ + const ordinaryMedia = res.data.ordinaryMedia.map((item) => ({ id: item.id, name: item.name, chart: { - xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, - seriesList: item.chart.seriesList.map((item => ({ + xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, + seriesList: item.chart.seriesList.map((item) => ({ data: item.data, name: item.name, themeColor: "#2AB8FD" - }))) + })) } })) @@ -638,277 +514,60 @@ export const useGroupStructureStore = defineStore("groupStructure", { } }, + async initialGraphByUtcTime(utcTime = "") { + const setColor = (groupId) => { + const colorMap = { + 0: "50,141,120", + 1: "133,129,48", + 6: "12,112,144" + } + return colorMap[parseInt(groupId)] + } + const res = await getRelationGraphByUtcTime(utcTime) + if (res.code != 200) return + const newSet = new Set() + this.graph["links"] = res.data.links.map((link) => ({ + source: link.source, + target: link.target, + color: setColor(link.type) + })) + this.graph["nodes"] = res.data.nodes + .filter((node) => { + if (!newSet.has(node.name)) { + newSet.add(node.name) + return true + } + return false + }) + .map((node) => { + return { + id: node.name, + label: node.name, + type: node.groupId + } + }) + }, // 初始化群体结构演化分析的群体演化信息-中下-随时间轴变化 - async initializeStructuralPost(time = '2024-06-19T07:57:46Z') { + async initializeStructuralPost(time = "2024-06-19T07:57:46Z") { const res = await getStructuralEvolutionAnalysisPost(time) - this.posts = res.data.map(item => ({ + this.posts = res.data.map((item) => ({ id: item.id, time: TansTimestamp(item.time, "YYYY.MM.DD HH:mm:ss"), groupCategory: item.groupCategory, innerEdgeAddCount: item.innerEdgeAddCount, - outerEdgeAddCount: item.outerEdgeAddCount, + outerEdgeAddCount: item.outerEdgeAddCount })) - }, - - + } }, persist: true // 开启持久化 }) export const useGroupMemberStore = defineStore("groupMember", { state: () => ({ - /* groupList - { - id: 1, - type: "群体一", - focusedTopic: "#中国海警首次登检菲律宾#", - value: [10, 5, 15, 5] - }, - { - id: 2, - type: "群体二", - focusedTopic: "#中国海警首次登检菲律宾#", - value: [10, 20, 15, 5] - } - */ groupList: [], timeList: [], - groupMemberList: [ - { - id: 1, - type: "头部媒体", - statistics: [ - { id: 1, iconImg: splitImg, name: "分裂", value: 0.0298 }, - { id: 2, iconImg: mergeImg, name: "合并", value: 0 }, - { id: 3, iconImg: shrinkImg, name: "收缩", value: 0.4741 }, - { id: 4, iconImg: expamdImg, name: "扩展", value: 1.04e-14 } - ] - }, - { - id: 2, - type: "头部媒体", - statistics: [ - { id: 1, iconImg: splitImg, name: "分裂", value: 0.2125 }, - { id: 2, iconImg: mergeImg, name: "合并", value: 1.65e-15 }, - { id: 3, iconImg: shrinkImg, name: "收缩", value: 0.4313 }, - { id: 4, iconImg: expamdImg, name: "扩展", value: 6.02e-15 } - ] - } - ], - chartData: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 25, interval: 5 }, - seriesList: [ - { - data: [0.9237, 0.14507, 0, 0, 0], - name: "分裂指数", - themeColor: "#2AB8FD" - }, - { - data: [9.8011, 21.3123, 10.4338, 14.1912, 10.1523], - name: "合并指数", - themeColor: "#02D7DA" - }, - { - data: [1.9057, 1.5123, 1.0338, 0.5912, 0.1523], - name: "收缩指数", - themeColor: "#FFDA09" - }, - { - data: [15.1119, 6.5123, 10.6338, 9.5912, 4.1523], - name: "扩展指数", - themeColor: "#EB57B0" - } - ] - }, - /* chartsData: { - topSelfMedia: [ - { - id: 1, - name: "分裂演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 1, interval: 0.2 }, - seriesList: [ - { - name: "分裂演化", - themeColor: "#2AB8FD", - data: [0.9237, 0.14507, 0, 0, 0] - } - ] - } - }, - { - id: 2, - name: "合并演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 25, interval: 5 }, - seriesList: [ - { - name: "合并演化", - themeColor: "#02D7DA", - data: [9.8011, 21.3123, 10.4338, 14.1912, 10.1523] - } - ] - } - }, - { - id: 3, - name: "收缩演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2, interval: 0.5 }, - seriesList: [ - { - name: "收缩演化", - themeColor: "#FFDA09", - data: [1.9057, 1.5123, 1.0338, 0.5912, 0.1523] - } - ] - } - }, - { - id: 4, - name: "扩展演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 20, interval: 5 }, - seriesList: [ - { - name: "扩展演化", - themeColor: "#EB57B0", - data: [15.1119, 6.5123, 10.6338, 9.5912, 4.1523] - } - ] - } - } - ], - officalMedia: [ - { - id: 1, - name: "分裂演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 1, interval: 0.2 }, - seriesList: [ - { - name: "分裂演化", - themeColor: "#2AB8FD", - data: [0.9237, 0.14507, 0, 0, 0] - } - ] - } - }, - { - id: 2, - name: "合并演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 25, interval: 5 }, - seriesList: [ - { - name: "合并演化", - themeColor: "#02D7DA", - data: [9.8011, 21.3123, 10.4338, 14.1912, 10.1523] - } - ] - } - }, - { - id: 3, - name: "收缩演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2, interval: 0.5 }, - seriesList: [ - { - name: "收缩演化", - themeColor: "#FFDA09", - data: [1.9057, 1.5123, 1.0338, 0.5912, 0.1523] - } - ] - } - }, - { - id: 4, - name: "扩展演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 20, interval: 5 }, - seriesList: [ - { - name: "扩展演化", - themeColor: "#EB57B0", - data: [15.1119, 6.5123, 10.6338, 9.5912, 4.1523] - } - ] - } - } - ], - ordinaryMedia: [ - { - id: 1, - name: "分裂演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 1, interval: 0.2 }, - seriesList: [ - { - name: "分裂演化", - themeColor: "#2AB8FD", - data: [0.9237, 0.14507, 0, 0, 0] - } - ] - } - }, - { - id: 2, - name: "合并演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 25, interval: 5 }, - seriesList: [ - { - name: "合并演化", - themeColor: "#02D7DA", - data: [9.8011, 21.3123, 10.4338, 14.1912, 10.1523] - } - ] - } - }, - { - id: 3, - name: "收缩演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 2, interval: 0.5 }, - seriesList: [ - { - name: "收缩演化", - themeColor: "#FFDA09", - data: [1.9057, 1.5123, 1.0338, 0.5912, 0.1523] - } - ] - } - }, - { - id: 4, - name: "扩展演化", - chart: { - xAxisData: ["07:57:46", "09:30:14", "09:57:32", "10:04:47", "10:12:57"], - yAxisRange: { min: 0, max: 20, interval: 5 }, - seriesList: [ - { - name: "扩展演化", - themeColor: "#EB57B0", - data: [15.1119, 6.5123, 10.6338, 9.5912, 4.1523] - } - ] - } - } - ] - }, */ + graph: {}, + chartData: {}, chartsData: {}, posts: [ { @@ -1051,12 +710,10 @@ export const useGroupMemberStore = defineStore("groupMember", { async initializeGroupMemberTimeLine() { const res = await getGroupMemberTimeLine() this.timeList = res.data - // console.log("测试获取timeList:",this.timeList); }, // 群体成员演化信息列表-左上 async initializeGroupList(time = "2024-06-19T07:57:46Z") { const res = await getGroupMemberInfoList(time) - console.log("测试获取groupMemberInfoList:", res) const groupList = res.data.map((item) => ({ id: item.id, type: item.type, @@ -1087,11 +744,9 @@ export const useGroupMemberStore = defineStore("groupMember", { async initialPostByUtcTime(utcTime) { const res = await getGroupMemberEvolutionInfoByTime(utcTime) this.posts = res.data - console.log("测试获取groupMemberEvolutionInfoByTime:", res.data) }, async initializeGroupMemberEvolutionAnalysisChart() { const res = await getGroupMemberEvolutionAnalysisChart() - console.log("测试获取groupMemberEvolutionAnalysisChart:", res) const themeColors = { 分裂演化: "#2AB8FD", 合并演化: "#02D7DA", @@ -1103,7 +758,11 @@ export const useGroupMemberStore = defineStore("groupMember", { name: item.name, chart: { xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, seriesList: item.chart.seriesList.map((item) => ({ data: item.data.map((item) => item.toFixed(2)), name: item.name, @@ -1117,7 +776,11 @@ export const useGroupMemberStore = defineStore("groupMember", { name: item.name, chart: { xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, seriesList: item.chart.seriesList.map((item) => ({ data: item.data.map((item) => item.toFixed(2)), name: item.name, @@ -1131,7 +794,11 @@ export const useGroupMemberStore = defineStore("groupMember", { name: item.name, chart: { xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)), - yAxisRange: {min: 0, max: Math.ceil((item.chart.yaxisRange.max) / 5) * 5, interval: Math.ceil((item.chart.yaxisRange.max) / 5)}, + yAxisRange: { + min: 0, + max: Math.ceil(item.chart.yaxisRange.max / 5) * 5, + interval: Math.ceil(item.chart.yaxisRange.max / 5) + }, seriesList: item.chart.seriesList.map((item) => ({ data: item.data.map((item) => item.toFixed(2)), name: item.name, @@ -1145,6 +812,40 @@ export const useGroupMemberStore = defineStore("groupMember", { officalMedia: officalMedia, ordinaryMedia: ordinaryMedia } + }, + + async initialGraphByUtcTime(utcTime = "") { + const setColor = (groupId) => { + const colorMap = { + 0: "50,141,120", + 1: "133,129,48", + 6: "12,112,144" + } + return colorMap[parseInt(groupId)] + } + const res = await getRelationGraphByUtcTime(utcTime) + if (res.code != 200) return + const newSet = new Set() + this.graph["links"] = res.data.links.map((link) => ({ + source: link.source, + target: link.target, + color: setColor(link.type) + })) + this.graph["nodes"] = res.data.nodes + .filter((node) => { + if (!newSet.has(node.name)) { + newSet.add(node.name) + return true + } + return false + }) + .map((node) => { + return { + id: node.name, + label: node.name, + type: node.groupId + } + }) } }, persist: true // 开启持久化 @@ -1386,7 +1087,7 @@ export const useAnomalousGroup = defineStore("anomalousGroup", { } }, // 异常用户组展示-左上 - async initializeAbnormalGroupList(time = '2024-06-19T07:57:46Z') { + async initializeAbnormalGroupList(time = "2024-06-19T07:57:46Z") { const res = await getAbnormalGroupList(time) if (res.code === 200) { this.abnormalGroupList = res.data @@ -1414,7 +1115,7 @@ export const useAnomalousGroup = defineStore("anomalousGroup", { } }, // 异常行为分析-中下 - async initializeAbnormalGroupPosts(time = '2024-06-19T07:57:46Z') { + async initializeAbnormalGroupPosts(time = "2024-06-19T07:57:46Z") { const res = await getAbnormalGroupBehaviorPosts(time) if (res.code === 200) { this.posts = res.data @@ -1422,13 +1123,12 @@ export const useAnomalousGroup = defineStore("anomalousGroup", { }, // 异常互动详情-右上 - async initializeAbnormalGroupInteractionDetail(time = '2024-06-19T07:57:46Z') { + async initializeAbnormalGroupInteractionDetail(time = "2024-06-19T07:57:46Z") { const res = await getAbnormalGroupBehaviorDetail(time) if (res.code === 200) { this.interactionDetail = res.data } - }, - + } }, persist: true // 开启持久化 }) diff --git a/src/views/GroupEvolution/abnormalGroup/index.vue b/src/views/GroupEvolution/abnormalGroup/index.vue index 3055533..bd26da6 100644 --- a/src/views/GroupEvolution/abnormalGroup/index.vue +++ b/src/views/GroupEvolution/abnormalGroup/index.vue @@ -1,12 +1,13 @@ diff --git a/src/views/GroupEvolution/component/groupChart.vue b/src/views/GroupEvolution/component/groupChart.vue index 1fd18a1..28f2f3c 100644 --- a/src/views/GroupEvolution/component/groupChart.vue +++ b/src/views/GroupEvolution/component/groupChart.vue @@ -296,9 +296,6 @@ watch( ) onMounted(() => { - console.log("111") - - console.log(props.moduleName) // 获取容器宽度 sliderContainerWidth.value = document.querySelector(".slider-container").offsetWidth }) diff --git a/src/views/GroupEvolution/component/groupGraph.vue b/src/views/GroupEvolution/component/groupGraph.vue index e6b868e..8cfa707 100644 --- a/src/views/GroupEvolution/component/groupGraph.vue +++ b/src/views/GroupEvolution/component/groupGraph.vue @@ -33,6 +33,7 @@ const { timeList, graph } = storeToRefs(props.store) let isPlay = ref(false) let graphVis = null let forceSimulator = null +const storeId = props.store.$id let currentSelectNode = ref(null) const defaultConfig = { node: { @@ -80,9 +81,7 @@ const registCustomePaintFunc = () => { } // 处理时间轴点击事件和拉动 const handlePointerDown = (time) => { - console.log("检查点击1:",time) const utcTime = convertToUtcIsoString(time) - console.log("检查点击2:",utcTime) emit("click:pointerDownAndSlide", utcTime) } @@ -175,6 +174,29 @@ const clusterAnalyze = () => { group.smoothPath = false //拟合平滑曲线(耗性能) }) graphVis.autoGroupLayout(graphVis.nodes) + + function handleGroupDiscoveryDiff() { + console.log(storeId) + } + + function handleGroupStructureDiff() { + console.log(storeId) + } + + function handleGroupMemberDiff() { + console.log(storeId) + } + + function handleAnomalousGroup() { + console.log(storeId) + } + + new Map([ + ["groupDiscovery", () => handleGroupDiscoveryDiff()], + ["groupStructure", () => handleGroupStructureDiff()], + ["groupMember", () => handleGroupMemberDiff()], + ["anomalousGroup", () => handleAnomalousGroup()] + ]).get(storeId)?.() // graphVis.selectedEdge(graphVis.links[0]) } diff --git a/src/views/GroupEvolution/groupMember/components/groupPanel.vue b/src/views/GroupEvolution/groupMember/components/groupPanel.vue index 069656c..8b92c64 100644 --- a/src/views/GroupEvolution/groupMember/components/groupPanel.vue +++ b/src/views/GroupEvolution/groupMember/components/groupPanel.vue @@ -1,35 +1,35 @@