From 7c24257d14c8a773aef0586c0195642c15246038 Mon Sep 17 00:00:00 2001 From: yxl <584911253@qq.com> Date: 星期一, 20 一月 2025 17:59:41 +0800 Subject: [PATCH] commit --- src/views/chartView/index.vue | 404 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 297 insertions(+), 107 deletions(-) diff --git a/src/views/chartView/index.vue b/src/views/chartView/index.vue index cdf71d4..95beaf3 100644 --- a/src/views/chartView/index.vue +++ b/src/views/chartView/index.vue @@ -1,7 +1,12 @@ <template> <div class="chartBox"> <div class="ChartBox"> - <JwChat-index :taleList="list" @enter="bindEnter" v-model="inputMsg" :toolConfig="tool"> + <JwChat-index + :taleList="list" + @enter="bindEnter" + v-model="inputMsg" + :toolConfig="tool" + > </JwChat-index> </div> </div> @@ -12,9 +17,14 @@ import msgData from "../../assets/js/msg/msgData"; import store from "../../store"; import bus from "./../../assets/js/bus.js"; -import { getAgentThistoryUpdate, getAgentIntention, getAgentLayerList, getAgentThistorySave } from "../../api/api.js"; +import { + getAgentThistoryUpdate, + getAgentIntention, + getAgentLayerList, + getAgentThistorySave, +} from "../../api/api.js"; import mapSetFunc from "../../assets/js/mapSetFunc.js"; -import { nanoid } from 'nanoid' +import { nanoid } from "nanoid"; import mapServer from "../../assets/js/map/mapServer.js"; import mapImg from "../../assets/js/map/mapImg.js"; import mapModel from "../../assets/js/map/mapModel.js"; @@ -32,20 +42,21 @@ obj: null, tool: { show: ["file", "history", "img"], - callback: this.toolEvent + callback: this.toolEvent, }, config: { img: "/image/cover.png", name: "JwChat", dept: "鏈�绠�鍗曘�佹渶渚挎嵎", - callback: this.bindCover - } + callback: this.bindCover, + }, + closeMap: false, }; }, computed: { Obj() { return store.state.setMsgData; - } + }, }, watch: { Obj(newVal, oldVal) { @@ -63,7 +74,7 @@ this.list[this.list.length - 1].text = newVal; } } - } + }, }, mounted() { this.uuid = nanoid(); @@ -78,7 +89,6 @@ // modelLayer.init(); setTimeout(() => { this.getMsg("ai", "鎮ㄥソ锛岃杈撳叆鎸囦护"); - }, 1000); bus.$on("mapInfo", (res) => { @@ -107,46 +117,50 @@ createSocket() { this.wsSocket = new WebSocket(config.wsHost); this.wsSocket.onopen = (event) => { - console.log('WebSocket杩炴帴鎴愬姛'); + console.log("WebSocket杩炴帴鎴愬姛"); //瀹氭椂浠诲姟锛岀敱浜庝娇鐢╪ginx鍙嶅悜浠g悊锛�60绉掓棤鏁版嵁浼犺緭浼氭柇寮� var timer = setInterval(() => { - if ( this.wsSocket.readyState == 1) { + if (this.wsSocket.readyState == 1) { this.wsSocket.send("蹇冭烦鍖呮娴�"); } else { //IM杩炴帴宸叉柇寮� } }, 50 * 1000); - }; this.wsSocket.onmessage = (event) => { // console.log('Received message:', event.data); console.log(event); - if (event.data != "杩炴帴鎴愬姛") { + if (event.data != "杩炴帴鎴愬姛" || event.data != "鏀跺埌娑堟伅锛屾秷鎭唴瀹癸細蹇冭烦鍖呮娴�") { console.log(event.data); - const val = JSON.parse(event.data) + const val = JSON.parse(event.data); if (val.session_id == this.uuid) { - this.setMapfunc(val, this.obj) + this.setMapfunc(val, this.obj); } } - - } + }; }, async getQueryLayerList() { - getAgentLayerList().then(response => { + const item = { + sourceType: "Tileset", + name: "MilitaryFacilities", + url: "/data-api/gisserver/c3dserver/sedb_DESKTOP-15DOTHJ_SEM4550/tileset.json", + }; + setTimeout(() => { + mapServer.addServer(item); + }, 1000); + return; + getAgentLayerList().then((response) => { if (response.code != 200) return; const items = response.data; for (var i in items) { const name = items[i].name; - if ( - name != "FW20" && name != "FW12" - ) { - mapServer.addServer(items[i]) + if (name != "FW20" && name != "FW12") { + console.log("items[i]", items[i]); + mapServer.addServer(items[i]); } - } - - }) + }); }, bindEnter() { const msg = this.inputMsg; @@ -173,7 +187,9 @@ 2 ); mapImg.addImageLayer(); - var roleMsg1 = msgData.getAffairsData([{ type: "text", val: "鐩稿叧淇℃伅宸插湪鍦板浘灞曠ず" }]); + var roleMsg1 = msgData.getAffairsData([ + { type: "text", val: "鐩稿叧淇℃伅宸插湪鍦板浘灞曠ず" }, + ]); this.refashMsg(roleMsg1.list); }, getMsg(type, msg) { @@ -186,98 +202,165 @@ } }, async setMsgStart(res) { + console.log("res----", res); + //杈撳叆@map鎵撳紑鍦板浘 + if (res == "@map") { + var rolMsg = [ + { + type: "text", + val: "鍦板浘宸叉墦寮�", + }, + ]; + this.refashMsg(rolMsg); + //鎵撳紑鍦板浘 + this.$store.state.setScreenFlag = true; + this.closeMap = true; + earthCtrl.viewer.camera.flyTo({ + destination: { + x: -1803769.3854512463, + y: 29158371.286777183, + z: 13465105.223495383, + }, + orientation: { + heading: 6.283185307179586, + pitch: -1.5707963267948966, + roll: 0, + }, + }); + } + //鏈塵ap鍏抽敭瀛楀畾浣� + else if (res.indexOf("@map") > -1) { + this.closeMap = true; + window.earthCtrl.camera.flyTo( + 121.5898036178841, + 23.93799083591751, + 2732.163687177577, + 4.501790216143808, + -32.230361363631324, + 0.001313831409284339, + 2 + ); + } else { + //鍏抽棴鍦板浘 + // this.$store.state.setScreenFlag = false; + } mapImg.removeInit(); mapSetFunc.removeAll(); this.$store.state.setListColor = []; this.$store.state.showLenged = false; - window.earthCtrl.camera.flyTo( - 121.5898036178841, - 23.93799083591751, - 2732.163687177577, - 4.501790216143808, - -32.230361363631324, - 0.001313831409284339, - 2 - ); - const formData = new FormData(); - formData.append("message", res); - formData.append("lib_id", "No1"); - formData.append("session_id", this.uuid.toString()); + // const formData = new FormData(); + // formData.append("message", res); + // formData.append("lib_id", "No1"); + // formData.append("session_id", this.uuid.toString()); + const formData = { + message: res, + lib_id: "No1", + session_id: this.uuid.toString(), + }; var obj = { - "ai": "", - "create_time": msgData.getDate1(), - "human": res, - "sessionid": this.uuid, - "update_time": "", - "userid": 0 - } + ai: "", + create_time: msgData.getDate1(), + human: res, + sessionid: this.uuid, + update_time: "", + userid: 0, + }; - getAgentThistorySave( - obj - ).then(response => { - + getAgentThistorySave(obj).then((response) => { if (response.code == 200) { obj.id = response.id; this.obj = obj; } - this.setAgentIntention(obj, formData) - }) - - - - + this.setAgentIntention(obj, formData); + }); }, async setAgentIntention(obj, formData) { - getAgentIntention(formData).then((response) => { + console.log("obj", formData); + getAgentIntention(formData) + .then((response) => { + if (response.code != 200) { + if (formData.message != "@map") { + var rolMsg = [ + { + type: "text", + val: "鏈煡璇㈠埌鐩稿叧淇℃伅銆�", + }, + ]; + this.refashMsg(rolMsg); + } + return; + } - if (response.code != 200) { + const type = response.type; + //鏅�氬璇濅俊鎭煡璇� + if (type == "message") { + //鍏抽棴鍦板浘 + if (!this.closeMap) { + this.$store.state.setScreenFlag = false; + } + var rolMsg = [ + { + type: "text", + val: response.msg, + }, + ]; + this.refashMsg(rolMsg); + } + //鍦板浘鏌ヨ + else { + //鎵撳紑鍦板浘 + this.$store.state.setScreenFlag = true; + this.setMapfunc(response.content, obj); + } + // if (type == "Map") { + // this.setMapfunc(response.content, obj); + // } else if (type == "Rag") { + // this.setMapRag(response, obj); + // } else { + // // this.setMapfunc(response.content, obj); + // } + }) + .catch((error) => { var rolMsg = [ { type: "text", - val: "鏈煡璇㈠埌鐩稿叧淇℃伅銆�" - } + val: "鎶辨瓑锛屾湇鍔″櫒浼间箮鍑轰簡鐐归棶棰橈紝鎴戜滑姝e湪淇涓��", + }, ]; this.refashMsg(rolMsg); - return; - } - - - const type = response.type; - if (type == "Map") { - this.setMapfunc(response.content, obj); - } else if (type == "Rag") { - this.setMapRag(response, obj); - } - }); + }); }, setMapfunc(res, obj) { this.$store.state.showLenged = false; - switch (res.func) { case "queryRelationship": - var roleMsg = null; if (res.data) { - mapSetFunc.init(res) + mapSetFunc.init(res); var a = `${res.msg}`; this.setUpdateHistoryInFor(obj, a); roleMsg = msgData.getMdData("markdown", a); } else { roleMsg = msgData.getAffairsData([{ type: "text", val: res.msg }]); - } this.refashMsg(roleMsg.list); break; case "queryMeta": - var a = `${res.data}`; + // var a = `|鏁版嵁绫诲瀷 |鏁版嵁閲� |\n|------|------|\n|鍐涗簨鐩爣 |724|\n|`//`${res.data}`; + const subData = res.data + .filter((item) => item.subtype !== null) + .map((item) => `| ${item.subtype} | ${item.count} |`) + .join("\n"); + var a = `| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n` + subData; + console.log("aaa", subData, a); this.setUpdateHistoryInFor(obj, a); var roleMsg = msgData.getMdData("markdown", a); this.refashMsg(roleMsg.list); - mapSetFunc.init(res) + mapSetFunc.init(res); break; case "combatSimulate": this.setMsgStart2(); @@ -287,11 +370,9 @@ this.refashMsg(roleMsg1.list); break; case "batEnv": - if (res.msg) { var a = `${res.msg}`; var roleMsg = msgData.getMdData("markdown", a); - roleMsg.list[0].link = true; @@ -303,26 +384,141 @@ break; case "poiMap": - case "aroundPoi": - mapSetFunc.init(res) + mapSetFunc.init(res); this.setUpdateHistoryInFor(obj, res.msg); - var roleMsg = msgData.getAffairsData([{ type: "text", val: res.msg }]); + var roleMsg = msgData.getAffairsData([ + { type: "text", val: "鍦板浘宸叉樉绀�" }, + ]); + console.log("roleMsg----", roleMsg); this.refashMsg(roleMsg.list); break; - default: - this.setUpdateHistoryInFor(obj, res.msg); - var roleMsg1 = msgData.getAffairsData([{ type: "text", val: res.msg }]); - this.refashMsg(roleMsg1.list); + case "aroundPoi": + let dataList = [ + { + type: "鍙墦鍑荤洰鏍�", + color: "#FF3366", + list: [], + }, + { + type: "涓嶅彲鎵撳嚮鐩爣", + color: "#33FF66", + list: [], + }, + { + type: "鍏朵粬", + color: "#3366FF", + list: [], + }, + ]; + res.data.forEach((item) => { + if (item.ifstrike === "1") { + dataList[0].list.push(item.uuid); + } else if (item.ifstrike === "2") { + dataList[1].list.push(item.uuid); + } else { + dataList[2].list.push(item.uuid); + } + }); + const resultData = dataList + .map((item) => `| ${item.type} | ${item.list.length} |`) + .join("\n"); + var a = `| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n` + resultData; + console.log("aaa", a); + this.setUpdateHistoryInFor(obj, a); + var roleMsg = msgData.getMdData("markdown", a); + this.refashMsg(roleMsg.list); + const finalData = { + func: "aroundPoi", + data: dataList, + }; + mapSetFunc.init(finalData); break; + case "getStrike": + let dataList1 = [ + { + type: "鍙墦鍑荤洰鏍�", + color: "#FF3366", + list: [], + }, + { + type: "涓嶅彲鎵撳嚮鐩爣", + color: "#33FF66", + list: [], + }, + { + type: "鍏朵粬", + color: "#3366FF", + list: [], + }, + ]; + res.data.forEach((item) => { + if (item.ifstrike === "1") { + dataList1[0].list.push(item.uuid); + } else if (item.ifstrike === "2") { + dataList1[1].list.push(item.uuid); + } else { + dataList1[2].list.push(item.uuid); + } + }); + const resultData1 = dataList1 + .map((item) => `| ${item.type} | ${item.list.length} |`) + .join("\n"); + var a = `| 鏁版嵁绫诲瀷 | 鏁版嵁閲� |\n|------|------|\n` + resultData1; + console.log("aaa", a); + this.setUpdateHistoryInFor(obj, a); + var roleMsg = msgData.getMdData("markdown", a); + this.refashMsg(roleMsg.list); + const finalData1 = { + func: "aroundPoi", + data: dataList1, + }; + mapSetFunc.init(finalData1); + break; + case "getParam": + mapSetFunc.init(res); + console.log("res.data.targetinfo", res); + this.setUpdateHistoryInFor(obj, res.msg); + if (res.data.length === 1) { + var roleMsg = msgData.getAffairsData([ + { type: "text", val: res.data[0].targetinfo }, + ]); + this.refashMsg(roleMsg.list); + } else { + const markData = res.data + .map((item) => `| ${item.name} | ${item.targetinfo} |`) + .join("\n"); + let markAttr = `| 鍚嶇О | 灞炴�т俊鎭� |\n|------|------|\n` + markData; + var roleMsg = msgData.getMdData("markdown", markAttr); + this.refashMsg(roleMsg.list); + } + break; + case "aroundPoi_2": + mapSetFunc.init(res); + console.log("res.data.targetinfo", res); + const resData = res.data + .map((item) => `| ${item.name} | ${item.targetinfo} |`) + .join("\n"); + var attr = `| 鍚嶇О | 灞炴�т俊鎭� |\n|------|------|\n` + resData; + console.log("aaa", attr); + var roleMsg = msgData.getMdData("markdown", attr); + this.setUpdateHistoryInFor(obj, res.msg); + this.refashMsg(roleMsg.list); + break; + // default: + // this.setUpdateHistoryInFor(obj, res.msg); + // var roleMsg1 = msgData.getAffairsData([ + // { type: "text", val: res.msg }, + // ]); + // this.refashMsg(roleMsg1.list); + // break; } }, setUpdateHistoryInFor(obj, message) { obj.ai = message; obj.update_time = msgData.getDate1(); - getAgentThistoryUpdate(obj).then(response => { + getAgentThistoryUpdate(obj).then((response) => { console.log(response); - - }) + }); }, setMapRag(res, objRes) { const val = res.content.split("\n"); @@ -331,8 +527,8 @@ if (val[i]) { obj.push({ type: "text", - val: val[i] - }) + val: val[i], + }); } } var listData = []; @@ -340,52 +536,46 @@ var obj_file = res.fileSrource; for (var i = 0; i < obj_file.length; i++) { const file_name = obj_file[i].metadata.split("/"); - const name = file_name[file_name.length - 1] + const name = file_name[file_name.length - 1]; if (listData.length == 0) { listData.push({ name: name, - val: [ - obj_file[i].page_content - ] - }) + val: [obj_file[i].page_content], + }); } else { var boolen = false; for (var k in listData) { if (listData[k].name == name) { boolen = true; - listData[k].val.push(obj_file[i].page_content) + listData[k].val.push(obj_file[i].page_content); } } if (boolen == false) { listData.push({ name: name, - val: [ - obj_file[i].page_content - ] - }) + val: [obj_file[i].page_content], + }); } - } } } if (listData.length > 0) { obj.push({ type: "fileSrource", - val: listData - }) + val: listData, + }); } var roleMsg = msgData.getAffairsData(obj); this.setUpdateHistoryInFor(objRes, JSON.stringify(roleMsg.list)); this.refashMsg(roleMsg.list); - }, refashMsg(res) { this.loading = false; this.list[this.list.length - 1].list = res; - } - } + }, + }, }; </script> <style scoped> -- Gitblit v1.9.3