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