From 6069325e1a37cf0462afda1627d4c660735dc57e Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期二, 16 七月 2024 09:51:56 +0800 Subject: [PATCH] 版本更新 --- src/views/chartView/index.vue | 467 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 405 insertions(+), 62 deletions(-) diff --git a/src/views/chartView/index.vue b/src/views/chartView/index.vue index f1909c2..3098418 100644 --- a/src/views/chartView/index.vue +++ b/src/views/chartView/index.vue @@ -12,11 +12,16 @@ import msgData from "../../assets/js/msg/msgData"; import store from "../../store"; import bus from "./../../assets/js/bus.js"; -import { getAIMessage, getV1Fastgpt } from "../../api/api.js"; +import { getAIMessage, getV1Fastgpt, getChartMessage } from "../../api/api.js"; +import { getQueryEentity } from "../../api/modelBase.js"; import mapInfo from "../../assets/js/map/mapInfo.js"; import axios from "axios"; import layerJson from "../../assets/js/map/mapJsonLayer.js"; import { factors } from "@turf/turf"; +import mapConfig from "../../assets/js/map/mapConfig.js"; +import { getToken } from "../../utils/auth.js"; +import modelLayer from "../../assets/js/map/modelLayer.js"; + export default { name: "jwChat", @@ -66,10 +71,28 @@ clearInterval(window.timer); window.timer = null; } - // this.setLoading(); + setTimeout(() => { - this.setMsgStart("鎮ㄥソ"); - }, config.loadTime); + this.getMsg("ai", "鎮ㄥソ锛屾垜鏄疓eoAgent锛岃闂彲浠ュ府鎮ㄥ仛浜涗粈涔堬紵"); + }, 1000); + setTimeout(() => { + const obj = mapConfig.setJsonToMd([ + { + h3: "璀﹀憡: 鑻忔瘮鍏嬫咕鍖哄彂鐜板紓甯稿啗浜嬭鏂�!" + }, + { + p: "寮傚父浠g爜: 4r5as5s001" + }, + { + p: "鏉ユ簮: XXX閮�" + }, + { + p: "鍙戠幇鏃堕棿: XX骞碭X鏈圶X鍙稾X鏃X鐐筙X鍒�" + } + ]); + var roleMsg = msgData.getJsonToMdData(obj); + this.list.push(roleMsg); + }, 3000); bus.$on("mapInfo", (res) => { if (res) { // this.setMapInfo(res); @@ -80,7 +103,7 @@ this.setMarkDownInfo(res); } }); - bus.$on("setRagMoreListAll", res => { + bus.$on("setRagMoreListAll", (res) => { if (res) { this.setRagMoreList(res); } @@ -93,6 +116,13 @@ // }); }, methods: { + getMd() { + const obj = mapConfig.setJsonToMd(); + const length = this.list.length - 1; + var roleMsg = msgData.getJsonToMdData(obj); + this.list[length].list = roleMsg.list; + this.loading = false; + }, bindEnter() { const msg = this.inputMsg; @@ -102,116 +132,432 @@ this.setLoading(); setTimeout(() => { - this.setMsgStart(msg); }, 200); }, - async setMsgStart(res) { - if (res.indexOf("鍐涗簨鐩爣") > -1 || res.indexOf("姘戝畢") > -1 || res.indexOf("缁忔祹鐩爣") > -1 || res.indexOf("娴峰啗闄嗘垬闃�") > -1 || res.indexOf("鍫や赴") > -1) { - this.$store.state.setScreenFlag = true; - this.list.splice(-1, 1); - this.loading = false; - layerJson.setQyeryData(res); + getQueryGroupBy(layer, filed) { + const layerId = modelLayer.layers.filter((item) => { + if (item.name == layer) { + return item; + } + }); + if (layerId.length <= 0) { + return; } - // else if(res.indexOf("鑻忔瘮鍏嬫咕") > -1){ - // this.$store.state.setScreenFlag = true; - // this.list.splice(-1, 1); - // this.loading = false; - // this.$nextTick(() => { - // setTimeout(() => { - // mapInfo.setEntityQueryInput(); - // }, 1000); - // }); - // } - else if (res == "涓夌淮瀹炴櫙") { + const obj = [ + { + type: "count", + field: filed, + outfield: "count_" + filed + } + ]; + return { + layerid: layerId[0].id, + dbid: modelLayer.dbid, + token: getToken(), + statistics: JSON.stringify(obj), + containCount: true, + groupby: filed + }; + }, + async getQueryEentityGroupBy(res, filed, response, head) { + const data = await getQueryEentity(res); + const message = mapConfig.setScanList(data.data, filed, head); + + if (message) { + if (this.loading) { + this.loading = false; + } + this.list[this.list.length - 1].sourceValue = "1"; + this.list[this.list.length - 1].list = message; + } else { + if (response.content) { + this.getMsg("ai", response.content); + } else { + this.getMsg("ai", "绋嶅悗鏈嶅姟銆傘�傘��"); + } + } + }, + async getQueryEentityDescription(res) { + const std = []; + const str = []; + const data = await getQueryEentity({ + token: res.token, + start: 1, + count: 0, + containCount: true, + layerid: res.layerid, + dbid: res.dbid + }); + const items = data.data.items; + + items.map((rs) => { + var name = rs["weaponname"]; + if (name) { + var boolen = true; + if (str.length == 0) { + boolen = true; + } else if (str.indexOf(name) > -1) { + boolen = false; + } else { + boolen = true; + } + if (boolen) { + const obj = mapConfig.setArrList(rs["descriptio"]); + for (var i in obj) { + std.push(obj[i]); + } + str.push(name); + } + } + }); + const jstomd = mapConfig.setJsonToMd(std); + const length = this.list.length - 1; + var roleMsg = msgData.getJsonToMdData(jstomd); + this.list[length].list = roleMsg.list; + this.loading = false; + }, + + async setMsgStart(res) { + if (res == "瀹氫綅鍒拌嫃姣斿厠婀�") { + this.setQueryMapPlan('flyToSubicBayArea', null) + } else if (res == "姝ゅ尯鍩熸湁鍝簺姝﹀櫒绯荤粺") { + this.setQueryMapPlan('displayWeaponSystem', null) + } else if (res == "鏌ヨ璇ュ尯鍩熷唴鐩爣鍙婂垎甯�") { + this.setQueryMapPlan('searchTarget', null) + }else if (res == "鍒嗘瀽鍫や赴绯荤粺鐨勬�ц兘鍜岄槻寰¤寖鍥�") { + this.setQueryMapPlan('defenceRangeTyphoonSystem', null) + } else if (res == "瀹氫綅鍒扮編鍥界┖鍐涙寚鎸ヤ腑蹇�") { + this.setQueryMapPlan('USAFCommandCenterQuery', null) + } else if (res == "鐢熸垚鎴樺満鐜鎶ュ憡") { + this.getUrlMd(config.reportMd, config.reportDocx) + // axios.get("/Data/Report.html").then(response=>{ + // var roleMsg = msgData.getHTMLData(response.data); + // this.list[this.list.length - 1].list = roleMsg.list; + // this.loading = false; + // }) + } + else if (res.indexOf("055") > -1) { layerJson.setTitleSetRest(); - this.setV1Fastgpt(res) + this.setV1Fastgpt(res); } else { const data = await getAIMessage(res); - - if (data.code == 200) { - if (data.content) { - this.getMsg("ai", data.content); - } else { - this.getMsg("ai", ""); - } + + if (data.status == 200) { if (data.name) { this.$store.state.setScreenFlag = true; this.$nextTick(() => { setTimeout(() => { - mapInfo.init(data.name); + this.setQueryMapPlan(data.name, data); }, 1000); }); + } else { + if (data.content) { + this.getMsg("ai", data.content); + this.list[this.list.length - 1].sourceValue = "2"; + } else { + this.getMsg("ai", ""); + this.list[this.list.length - 1].sourceValue = "2"; + } + } + } else { + if (data.content) { + this.getMsg("ai", data.content); + this.list[this.list.length - 1].sourceValue = "2"; + } else { + if (data.length > 0) { + this.setSourceList(data) + } else { + this.getMsg("ai", "绋嶅悗鏈嶅姟銆傘�傘��"); + } + // } } } + + }, + setSourceList(res) { + const obj = res[0].quoteList + var roleMsg = [ + { + type: "text", + val: "鏈煡璇㈠埌鐩稿叧淇℃伅" + } + ]; + + const length = this.list.length - 1; + + if (obj.length > 0) { + this.$store.state.ragList.push({ + quest: res, + index: length, + val: obj + }); + roleMsg = msgData.getRagData(obj[0], true, res); + } + + this.list[length].list = roleMsg; + this.loading = false; + }, + getUrlMd(res, link) { + axios.get(res).then(response => { + if (response.status == 200) { + var roleMsg = msgData.getJsonToMdData(response.data, link); + this.list[this.list.length - 1].sourceValue = "1"; + this.list[this.list.length - 1].list = roleMsg.list; + this.loading = false; + } else { + this.getMsg("ai", "绋嶅悗鏈嶅姟銆傘�傘��"); + } + }) + }, + setQueryMapPlan(res, response) { + if (this.$store.state.setScreenFlag == false) { + this.$store.state.setScreenFlag = true; + } + if (this.$store.state.showLenged) { + this.$store.state.showLenged = false; + } + + if (res != "weaponSystemParameters") { + layerJson.setTitleSetRest(); + } + mapInfo.setEntityQueryInput(); + switch (res) { + + case "flyToSubicBayArea": + this.$store.state.setScreenFlag = true; + mapInfo.setEntityQueryInput(); + this.getMsg("ai", "鍦板浘宸叉樉绀�"); + this.list[this.list.length - 1].sourceValue = "1"; + break; + case "displayWeaponSystem": + mapInfo.setFlyTo({ + longitude: 120.26907736668211, + latitude: 14.791708841800627, + height: 1371.1909347746105 + }); + var obj = this.getQueryGroupBy("姝﹀櫒", "weaponname"); + // var table_head = ["姝﹀櫒鍚嶇О", "鏁伴噺", "鍑虹幇鏃堕棿"] + // this.getQueryEentityGroupBy(obj, "weaponname", response, table_head); + + // this.getUrlMd("/Data/姝﹀櫒绯荤粺缁嗗寲.md", null) + axios.get("/Data/姝﹀櫒绯荤粺.html").then(response => { + var roleMsg = msgData.getHTMLData(response.data); + this.list[this.list.length - 1].list = roleMsg.list; + this.loading = false; + }) + layerJson.setAddWfsJson(); + break; + case "weaponSystemParameters": + mapInfo.setFlyTo({ + longitude: 120.26907736668211, + latitude: 14.791708841800627, + height: 1371.1909347746105 + }); + + if (response.weapons) { + var name = ""; + if (response.weapons.indexOf("鍫や赴") > -1) { + name = "鍫や赴"; + } else if (response.weapons.indexOf("鍦e畨涓滃凹濂ョ骇") > -1) { + name = "鍦e畨涓滃凹濂ョ骇绯荤粺"; + } else if (response.weapons.indexOf("涓硅緲绾�") > -1) { + name = "涓硅緲绾х郴缁�"; + } else if (response.weapons.indexOf("C130") > -1) { + name = "C130绯荤粺"; + } else if (response.weapons.indexOf("浣曞榛庡埞") > -1) { + name = "浣曞榛庡埞绾х郴缁�"; + } else if (response.weapons.indexOf("楸奸拱") > -1) { + name = "楸奸拱绯荤粺"; + } else if (response.weapons.indexOf("鍏堥攱绾�") > -1) { + name = "鍏堥攱绾х郴缁�"; + } else if (response.weapons.indexOf("鏀ゴ骞�") > -1) { + name = "鏀ゴ骞茬郴缁�"; + } else if (response.weapons.indexOf("榛戦拱") > -1) { + name = "榛戦拱绯荤粺"; + } + if (name) { + const url = "/Data/" + name + ".md"; + this.getUrlMd(url, null) + } else { + this.getMsg("ai", response.content); + + } + } else { + this.getMsg("ai", response.content); + } + break; + case "weaponParameters": + var obj = this.getQueryGroupBy("姝﹀櫒", "description", response); + this.getQueryEentityDescription(obj); + break; + + case "searchTarget": + var obj = this.getQueryGroupBy("寤虹瓚", "targettype"); + + // 瀹炰綋鐩爣鍒楄〃_1.html + axios.get("/Data/瀹炰綋鐩爣鍒楄〃_1.html").then(response => { + var roleMsg = msgData.getHTMLData(response.data); + this.list[this.list.length - 1].list = roleMsg.list; + this.loading = false; + }) + // axios.get("/Data/鎴樺満鐜.json").then(response=>{ + // var roleMsg =msgData.getJsonToHtml(response.data); + // this.list[this.list.length - 1].list = roleMsg.list; + // this.loading = false; + // }) + // var table_head = ["鐩爣绫诲瀷", "鏁伴噺"] + // this.getQueryEentityGroupBy(obj, "targettype", response, table_head); + var list = [ + { + name: "鍐涗簨鐩爣", + color: "#73afff" + }, + { + name: "鏀挎不鐩爣", + color: "#fffd72" + }, + { + name: "缁忔祹鐩爣", + color: "#fabc56" + }, + { + name: "绀句細鐩爣", + color: "#272424" + }, + { + name: "姘戝畢", + color: "#979696" + } + ]; + layerJson.setQueryByFiledList(list, 0); + this.$store.state.showLenged = true; + break; + case "attackUSAFCommandCenter": + var obj = "strikeable = 'TRUE'" + ""; + layerJson.setQueryByFiled(obj, "#FF0000", false); + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + this.list[this.list.length - 1].sourceValue = "1"; + break; + case "USAFCommandCenterQuery": + var obj = "ejfl like '%绌哄啗鍩哄湴%'"; + layerJson.setQueryExtent2(obj, false); + // this.getMsg("ai", "缇庡浗绌哄啗鎸囨尌涓績锛屽寘鍚�4搴у脊鑽簱锛�11搴ф补搴擄紝1搴ф満搴撱��"); + // this.getUrlMd("/Data/缇庡浗绌哄啗鎸囨尌涓績.md", null) + // this.list[this.list.length - 1].sourceValue = "1"; + // + + axios.get("/Data/缇庡浗绌哄啗鎸囨尌涓績.html").then(response => { + var roleMsg = msgData.getHTMLData(response.data); + this.list[this.list.length - 1].list = roleMsg.list; + this.loading = false; + }) + // + // + break; + case "simulationAttack": + var obj = "ejfl like '%绌哄啗鍩哄湴%'"; + layerJson.setQueryExtent2(obj, true); + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + this.list[this.list.length - 1].sourceValue = "1"; + break; + case "defenceRangeTyphoonSystem": + const objName = "鍫や赴绯荤粺" + var obj = "weaponname like '%" + objName + "%'" + ""; + layerJson.setQueryTF2(obj); + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + this.list[this.list.length - 1].sourceValue = "1"; + this.getUrlMd("/Data/鍫や赴绯荤粺.md", null) + break; + + default: + mapInfo.init(res); + if (response.content) { + this.getMsg("ai", response.content); + this.list[this.list.length - 1].sourceValue = "2"; + } else { + this.getMsg("ai", "绋嶅悗鏈嶅姟銆傘�傘��"); + } + break; + } + }, + setRagMoreList(res) { - const obj = this.$store.state.ragList - const val_data = obj.filter(item => { + const obj = this.$store.state.ragList; + const val_data = obj.filter((item) => { if (item.quest === res) { return item; } }); - if (val_data.length <= 0) return + if (val_data.length <= 0) return; this.$store.state.ragList = obj; - const val_obj = val_data[0] + const val_obj = val_data[0]; const key = val_obj.index; const val = val_obj.val; this.list[key].list[0].more = false; var flag = 1; var intValTime = setInterval(() => { if (flag >= val.length) { - const obj = JSON.parse(JSON.stringify(this.list)) - this.list = obj + const obj = JSON.parse(JSON.stringify(this.list)); + this.list = obj; for (var i in obj) { if (obj[i].quest === res) { - obj.splice(i, 1) + obj.splice(i, 1); } } - clearInterval(intValTime) - return + clearInterval(intValTime); + return; } const valitem = val[flag]; const roleMsg = msgData.getRagData(valitem, false, ""); - this.list[key].list.push(roleMsg[0]) - flag++ + this.list[key].list.push(roleMsg[0]); + flag++; }, 1000); - }, setRagInterval(flag, index, res) { if (flag < res.length) { - const obj = res[flag] - - this.list[index].list.push(roleMsg[0]) + const obj = res[flag]; + this.list[index].list.push(roleMsg[0]); setTimeout(() => { flag++; - this.setRagInterval(flag, index, res) + this.setRagInterval(flag, index, res); }, 1000); } else { - return + return; } }, async setV1Fastgpt(res) { const data = await getV1Fastgpt(res); - + const length = this.list.length - 1; - const obj = data[0].quoteList - this.$store.state.ragList.push({ - quest: res, - index: length, - val: obj - }) - var roleMsg = msgData.getRagData(obj[0], true, res); - this.list[length].list = roleMsg + + const obj = data[0].quoteList; + var roleMsg = [ + { + type: "text", + val: "鏈煡璇㈠埌鐩稿叧淇℃伅" + } + ]; + if (obj.length > 0) { + this.$store.state.ragList.push({ + quest: res, + index: length, + val: obj + }); + roleMsg = msgData.getRagData(obj[0], true, res); + } + + this.list[length].list = roleMsg; this.loading = false; }, setMarkDownInfo(res) { var roleMsg = msgData.getRole("markDown", res); this.list.push(roleMsg.msg); - // + // }, setMapInfo(res) { var msg = ""; @@ -223,13 +569,10 @@ }, getMsg(type, msg) { var roleMsg = msgData.getRole(type, msg); - if (this.loading) { - this.loading = false; - this.list[this.list.length - 1].list = roleMsg.msg.list; } else { this.list.push(roleMsg.msg); -- Gitblit v1.9.3