| | |
| | | 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",
|
| | |
|
| | |
| | | // this.setLoading();
|
| | | setTimeout(() => {
|
| | | this.setMsgStart("您好");
|
| | | }, config.loadTime);
|
| | | }, 1000);
|
| | | setTimeout(() => {
|
| | | const obj = mapConfig.setJsonToMd([{
|
| | | h6: "警告: 菲律宾苏比克湾区域检测出异常军事目标!"
|
| | | }, {
|
| | | p: "异常代号:4r5as5s001"
|
| | | }]);
|
| | | var roleMsg = msgData.getJsonToMdData(obj);
|
| | | this.list.push(roleMsg)
|
| | | }, 3000);
|
| | | bus.$on("mapInfo", (res) => {
|
| | | if (res) {
|
| | | // this.setMapInfo(res);
|
| | |
| | | // });
|
| | | },
|
| | | 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;
|
| | |
|
| | |
| | | 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;
|
| | |
| | | } else {
|
| | | const data = await getAIMessage(res);
|
| | |
|
| | | if (data.code == 200) {
|
| | | if (data.status == 200) {
|
| | | if (data.content) {
|
| | | this.getMsg("ai", data.content);
|
| | | } else {
|
| | |
| | | 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 => {
|
| | |
| | | const data = await getV1Fastgpt(res);
|
| | |
|
| | | const length = this.list.length - 1;
|
| | |
|
| | | const obj = data[0].quoteList
|
| | | this.$store.state.ragList.push({
|
| | | quest: res,
|