From 6ae4841b48665145aa469d574fbadb988a9c498c Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期四, 27 六月 2024 15:55:17 +0800 Subject: [PATCH] 演示1版本 --- src/views/chartView/index.vue | 203 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 195 insertions(+), 8 deletions(-) diff --git a/src/views/chartView/index.vue b/src/views/chartView/index.vue index f1909c2..2dc0934 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", @@ -69,7 +74,16 @@ // this.setLoading(); setTimeout(() => { this.setMsgStart("鎮ㄥソ"); - }, config.loadTime); + }, 1000); + setTimeout(() => { + const obj = mapConfig.setJsonToMd([{ + h6: "璀﹀憡: 鑿插緥瀹捐嫃姣斿厠婀惧尯鍩熸娴嬪嚭寮傚父鍐涗簨鐩爣!" + }, { + p: "寮傚父浠e彿:4r5as5s001" + }]); + var roleMsg = msgData.getJsonToMdData(obj); + this.list.push(roleMsg) + }, 3000); bus.$on("mapInfo", (res) => { if (res) { // this.setMapInfo(res); @@ -93,6 +107,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; @@ -104,14 +125,107 @@ setTimeout(() => { this.setMsgStart(msg); + + }, 200); }, + getQueryGroupBy(layer, filed) { + const layerId = modelLayer.layers.filter((item) => { + if (item.name == layer) { + return item; + } + }); + if (layerId.length <= 0) { + return; + } + 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) { + const data = await getQueryEentity(res); + const message = mapConfig.setScanList(data.data, filed) + + this.getMsg("ai", message); + }, + 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.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); + } else if (res.indexOf("markDown") > -1) { + setTimeout(() => { + this.getMd(); + }, 2000); + + } else if (res.indexOf("scanWeapon") > -1) { + this.setQueryMapPlan("scanWeapon") + } else if (res.indexOf("weaponParameters") > -1) { + this.setQueryMapPlan("weaponParameters") + } else if (res.indexOf("searchTarget") > -1) { + this.setQueryMapPlan("searchTarget") + } else if (res.indexOf("searchStrikeableTarget") > -1) { + this.setQueryMapPlan("searchStrikeableTarget") + } else if (res.indexOf("USAFCommandCenterQuery") > -1) { + this.setQueryMapPlan("USAFCommandCenterQuery") + } else if (res.indexOf("attackUSAFCommandCenter") > -1) { + this.setQueryMapPlan("attackUSAFCommandCenter") + } else if (res.indexOf("defenceRangeTyphoonSystem") > -1) { + this.setQueryMapPlan("defenceRangeTyphoonSystem") } // else if(res.indexOf("鑻忔瘮鍏嬫咕") > -1){ // this.$store.state.setScreenFlag = true; @@ -128,8 +242,8 @@ this.setV1Fastgpt(res) } else { const data = await getAIMessage(res); - - if (data.code == 200) { + + if (data.status == 200) { if (data.content) { this.getMsg("ai", data.content); } else { @@ -139,13 +253,85 @@ this.$store.state.setScreenFlag = true; this.$nextTick(() => { setTimeout(() => { - mapInfo.init(data.name); + this.setQueryMapPlan(data.name) + }, 1000); }); } } } }, + setQueryMapPlan(res) { + + if (this.$store.state.setScreenFlag == false) { + this.$store.state.setScreenFlag = true; + } + layerJson.setTitleSetRest(); + mapInfo.setEntityQueryInput(); + switch (res) { + case "scanWeapon": + + mapInfo.setFlyTo({ + "longitude": 120.26907736668211, + "latitude": 14.791708841800627, + "height": 1371.1909347746105 + }); + var obj = this.getQueryGroupBy("姝﹀櫒", "weaponname") + this.getQueryEentityGroupBy(obj, "weaponname") + layerJson.setAddWfsLayer(); + + break; + case "weaponParameters": + var obj = this.getQueryGroupBy("姝﹀櫒", "description") + this.getQueryEentityDescription(obj) + break; + case "searchTarget": + var obj = this.getQueryGroupBy("寤虹瓚", "targettype") + this.getQueryEentityGroupBy(obj, "targettype") + var list = [{ + name: "鍐涗簨鐩爣", + color: "#409EFF" + }, { + name: "姘戝畢", + color: "#808080" + }, { + name: "缁忔祹鐩爣", + color: "#FFFF00" + } + ] + layerJson.setQueryByFiledList(list, 0) + break; + case "searchStrikeableTarget": + var obj = "strikeable = 'TRUE'" + ""; + layerJson.setQueryByFiled(obj, "#FF0000", false) + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + break; + case "USAFCommandCenterQuery": + var obj = "ejfl like '%绌哄啗鍩哄湴%'"; + layerJson.setQueryExtent2(obj, false) + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + break; + case "attackUSAFCommandCenter": + var obj = "ejfl like '%绌哄啗鍩哄湴%'"; + layerJson.setQueryExtent2(obj, true) + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + break; + case "defenceRangeTyphoonSystem": + var obj = "weaponname like '%" + name + "%'" + ""; + layerJson.setQueryTF2(obj) + this.getMsg("ai", "鐩稿叧淇℃伅宸插湪鍦板浘妯″潡灞曠ず"); + break; + + default: + mapInfo.init(res); + break; + } + }, + + + + + setRagMoreList(res) { const obj = this.$store.state.ragList const val_data = obj.filter(item => { @@ -196,8 +382,9 @@ }, 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, @@ -223,13 +410,13 @@ }, 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