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