| | |
| | | clearInterval(window.timer);
|
| | | window.timer = null;
|
| | | }
|
| | | // this.setLoading();
|
| | |
|
| | | setTimeout(() => {
|
| | | this.setMsgStart("您好");
|
| | | this.getMsg("ai", "您好,我是GeoAgent,请问可以帮您做些什么?");
|
| | | }, 1000);
|
| | | setTimeout(() => {
|
| | | const obj = mapConfig.setJsonToMd([{
|
| | | h6: "警告: 菲律宾苏比克湾区域检测出异常军事目标!"
|
| | | }, {
|
| | | p: "异常代号:4r5as5s001"
|
| | | }]);
|
| | | const obj = mapConfig.setJsonToMd([
|
| | | {
|
| | | h3: "警告: 苏比克湾区发现异常军事设施!"
|
| | | },
|
| | | {
|
| | | p: "异常代码: 4r5as5s001"
|
| | | },
|
| | | {
|
| | | p: "来源: XXX部"
|
| | | },
|
| | | {
|
| | | p: "发现时间: XX年XX月XX号XX日XX点XX分"
|
| | | }
|
| | | ]);
|
| | | var roleMsg = msgData.getJsonToMdData(obj);
|
| | | this.list.push(roleMsg)
|
| | | this.list.push(roleMsg);
|
| | | }, 3000);
|
| | | bus.$on("mapInfo", (res) => {
|
| | | if (res) {
|
| | |
| | | this.setMarkDownInfo(res);
|
| | | }
|
| | | });
|
| | | bus.$on("setRagMoreListAll", res => {
|
| | | bus.$on("setRagMoreListAll", (res) => {
|
| | | if (res) {
|
| | | this.setRagMoreList(res);
|
| | | }
|
| | |
| | | const obj = mapConfig.setJsonToMd();
|
| | | const length = this.list.length - 1;
|
| | | var roleMsg = msgData.getJsonToMdData(obj);
|
| | | this.list[length].list = roleMsg.list
|
| | | this.list[length].list = roleMsg.list;
|
| | | this.loading = false;
|
| | | },
|
| | | bindEnter() {
|
| | |
| | |
|
| | | this.setLoading();
|
| | | setTimeout(() => {
|
| | |
|
| | | this.setMsgStart(msg);
|
| | |
|
| | |
|
| | | }, 200);
|
| | | },
|
| | | getQueryGroupBy(layer, filed) {
|
| | |
| | | statistics: JSON.stringify(obj),
|
| | | containCount: true,
|
| | | groupby: filed
|
| | | }
|
| | |
|
| | | };
|
| | | },
|
| | | async getQueryEentityGroupBy(res, filed) {
|
| | | async getQueryEentityGroupBy(res, filed, response, head) {
|
| | | const data = await getQueryEentity(res);
|
| | | const message = mapConfig.setScanList(data.data, filed)
|
| | | const message = mapConfig.setScanList(data.data, filed, head);
|
| | |
|
| | | this.getMsg("ai", message);
|
| | | 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 = [];
|
| | |
| | | count: 0,
|
| | | containCount: true,
|
| | | layerid: res.layerid,
|
| | | dbid: res.dbid,
|
| | | dbid: res.dbid
|
| | | });
|
| | | const items = data.data.items;
|
| | |
|
| | | items.map(rs => {
|
| | | var name = rs["weaponname"]
|
| | | items.map((rs) => {
|
| | | var name = rs["weaponname"];
|
| | | if (name) {
|
| | | var boolen = true;
|
| | | if (str.length == 0) {
|
| | |
| | | boolen = true;
|
| | | }
|
| | | if (boolen) {
|
| | | const obj = mapConfig.setArrList(rs["descriptio"])
|
| | | const obj = mapConfig.setArrList(rs["descriptio"]);
|
| | | for (var i in obj) {
|
| | | std.push(obj[i])
|
| | | std.push(obj[i]);
|
| | | }
|
| | | str.push(name)
|
| | | str.push(name);
|
| | | }
|
| | | }
|
| | | })
|
| | | const jstomd = mapConfig.setJsonToMd(std)
|
| | | });
|
| | | const jstomd = mapConfig.setJsonToMd(std);
|
| | | const length = this.list.length - 1;
|
| | | var roleMsg = msgData.getJsonToMdData(jstomd);
|
| | | this.list[length].list = roleMsg.list
|
| | | 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")
|
| | | 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("苏比克湾") > -1){
|
| | | // this.$store.state.setScreenFlag = true;
|
| | | // this.list.splice(-1, 1);
|
| | | // this.loading = false;
|
| | | // this.$nextTick(() => {
|
| | | // setTimeout(() => {
|
| | | // mapInfo.setEntityQueryInput();
|
| | | // }, 1000);
|
| | | // });
|
| | | // } |
| | | else if (res == "三维实景") {
|
| | | else if (res.indexOf("055") > -1) {
|
| | | layerJson.setTitleSetRest();
|
| | | this.setV1Fastgpt(res)
|
| | | this.setV1Fastgpt(res);
|
| | | } else {
|
| | | const data = await getAIMessage(res);
|
| | |
|
| | | if (data.status == 200) {
|
| | | if (data.content) {
|
| | | this.getMsg("ai", data.content);
|
| | | } else {
|
| | | this.getMsg("ai", "");
|
| | | }
|
| | | if (data.name) {
|
| | | this.$store.state.setScreenFlag = true;
|
| | | this.$nextTick(() => {
|
| | | setTimeout(() => {
|
| | | this.setQueryMapPlan(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", "稍后服务。。。");
|
| | | }
|
| | | // |
| | | }
|
| | | }
|
| | | }
|
| | | },
|
| | | setQueryMapPlan(res) {
|
| | |
|
| | |
|
| | | },
|
| | | 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;
|
| | | }
|
| | | layerJson.setTitleSetRest();
|
| | | if (this.$store.state.showLenged) {
|
| | | this.$store.state.showLenged = false;
|
| | | }
|
| | |
|
| | | if (res != "weaponSystemParameters") {
|
| | | layerJson.setTitleSetRest();
|
| | | }
|
| | | mapInfo.setEntityQueryInput();
|
| | | switch (res) {
|
| | | case "scanWeapon":
|
| | |
|
| | | 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
|
| | | longitude: 120.26907736668211,
|
| | | latitude: 14.791708841800627,
|
| | | height: 1371.1909347746105
|
| | | });
|
| | | var obj = this.getQueryGroupBy("武器", "weaponname")
|
| | | this.getQueryEentityGroupBy(obj, "weaponname")
|
| | | layerJson.setAddWfsLayer();
|
| | | // layerJson.setAddWfsJson();
|
| | | 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("圣安东尼奥级") > -1) {
|
| | | name = "圣安东尼奥级系统";
|
| | | } 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")
|
| | | this.getQueryEentityDescription(obj)
|
| | | var obj = this.getQueryGroupBy("武器", "description", response);
|
| | | 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)
|
| | | 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 "searchStrikeableTarget":
|
| | | case "attackUSAFCommandCenter":
|
| | | var obj = "strikeable = 'TRUE'" + "";
|
| | | layerJson.setQueryByFiled(obj, "#FF0000", false)
|
| | | 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", "相关信息已在地图模块展示");
|
| | | 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 "attackUSAFCommandCenter":
|
| | | case "simulationAttack":
|
| | | var obj = "ejfl like '%空军基地%'";
|
| | | layerJson.setQueryExtent2(obj, true)
|
| | | layerJson.setQueryExtent2(obj, true);
|
| | | this.getMsg("ai", "相关信息已在地图模块展示");
|
| | | this.list[this.list.length - 1].sourceValue = "1";
|
| | | break;
|
| | | case "defenceRangeTyphoonSystem":
|
| | | var obj = "weaponname like '%" + name + "%'" + "";
|
| | | layerJson.setQueryTF2(obj)
|
| | | 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 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 = "";
|
| | |
| | | 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 {
|