From 6069325e1a37cf0462afda1627d4c660735dc57e Mon Sep 17 00:00:00 2001
From: suerprisePlus <15810472099@163.com>
Date: 星期二, 16 七月 2024 09:51:56 +0800
Subject: [PATCH] 版本更新

---
 src/components/Chat/chatList.vue |  265 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 219 insertions(+), 46 deletions(-)

diff --git a/src/components/Chat/chatList.vue b/src/components/Chat/chatList.vue
index 94fbd7b..6286115 100644
--- a/src/components/Chat/chatList.vue
+++ b/src/components/Chat/chatList.vue
@@ -4,41 +4,58 @@
       <div class="web__main" ref="main">
         <div class="web__main-item" v-for="(item, index) in list" :key="loding(index)"
           :class="{ 'web__main-item--mine': item.mine }">
-
           <div class="web__main_content">
             <div>
               <img :src="item.img" />
             </div>
+
             <div class="web__main_Date">
               <div>
                 <cite>
-                  <div style="display: flex">
+                  <div style="float: left;">
                     {{ item.name }}
-
-                    <!-- <div style="margin-left: 10px" v-show="item.file">
-                      <el-select
-                        @change="(val) => setFileChange(val)"
-                        v-model="item.file"
-                        size="mini"
-                      >
-                        <el-option
-                          v-for="(res, key) in item.fileList"
-                          :key="key"
-                          :label="res.name"
-                          :value="res.url"
-                        >
-                        </el-option>
-                      </el-select>
-                    </div> -->
                   </div>
-
-                  <div>
+                  <div v-show="item.sourceValue" class="sourcefrom" style="float: left;margin-left:20px">
+                    <el-select size="small" v-model="item.sourceValue" placeholder="璧勬枡鏉ユ簮">
+                      <el-option value="1" label="GEDB"></el-option>
+                      <el-option value="2" label="GeoAgent"></el-option>
+                    </el-select>
+                  </div>
+                  <div style="float: right;">
                     {{ item.date }}
                   </div>
                 </cite>
               </div>
               <div class="web__main-text">
                 <div v-for="(res, key) in item.list" :key="key">
+                  <div v-if="res.type === 'html'">
+                    <div v-html="res.val"></div>
+                  </div>
+                  <div v-if="res.type === 'JsonHtml'">
+                    <div class="JsonHtml">
+                      <table>
+                        <tr>
+                          <th v-show="index != 'rowspan'" v-for="(item, index) in res.val[0]" :key=index>
+                            {{ index }}
+                          </th>
+                        </tr>
+                        <tr v-if="!item.break" v-for="(item, index) in res.val" :key=index>
+                          <td v-if="item.rowspan != ''" :rowspan="item.rowspan">
+                            {{ item[Object.keys(item)[0]] }}
+                          </td>
+                          <td v-if="Object.keys(item)[0] != n && n != 'rowspan'" v-for="(rs, n ) in item " :key="n"> {{
+                            item[n] }}</td>
+                          <!--  -->
+                        </tr>
+
+                      </table>
+                      <div>
+                        <p v-for="(item, index) in res.val[res.val.length - 1].break" :key=index>
+                          {{ item.bak }}
+                        </p>
+                      </div>
+                    </div>
+                  </div>
                   <div v-if="res.type === 'text'">
                     {{ res.val }}
                   </div>
@@ -47,13 +64,32 @@
                   </div>
                   <div v-else-if="res.type == 'markdown'">
                     <vue-markdown :source="res.val" class="newConcentLeft my-markdown"></vue-markdown>
+                    <div v-show="res.link" style="float: right; ">
+                      <a @click="setDownLoadFile(res.link)" style="color: white">涓嬭浇鎶ュ憡</a>
+                    </div>
                   </div>
-                  <div style="margin-bottom:10px" v-else-if="res.type == 'rag'">
+                  <div v-else-if="res.type == 'table'">
+                    <table class="contTable">
+                      <thead>
+                        <th v-for="(item, index) in res.val[0]" :key="index">
+                          {{ item }}
+                        </th>
+                      </thead>
+                      <tbody>
+                        <tr v-for="(item, index) in res.val[1]" :key="index">
+                          <td v-for="(rs, flag) in item" :key="flag">
+                            {{ rs }}
+                          </td>
+                        </tr>
+                      </tbody>
+                    </table>
+                  </div>
+                  <div style="margin-bottom: 10px" v-else-if="res.type == 'rag'">
                     <div v-show="res.acction">
                       {{ res.acction }}
                     </div>
-                    <div> {{ res.question }} </div>
-                    <div style="display: flex;">
+                    <div>{{ res.question }}</div>
+                    <div style="display: flex">
                       鏉ユ簮: {{ res.source }}
                       <div @click.stop="setRagMoreList(res.msg)" class="setRagMore" v-show="res.more">
                         ...鏇村
@@ -61,9 +97,7 @@
                     </div>
                   </div>
                 </div>
-
               </div>
-
             </div>
           </div>
         </div>
@@ -97,7 +131,7 @@
         width = value - 30 + "px";
       }
       if (width == "100vh") {
-        return "99vh"
+        return "99vh";
       }
       return width;
     }
@@ -121,7 +155,7 @@
       imgSrc: "",
       videoSrc: "",
       audioSrc: "",
-      isDisabled: true,
+      isDisabled: true
     };
   },
   watch: {
@@ -135,6 +169,21 @@
     }
   },
   methods: {
+    setrowSpan(res, name) {
+      if (Object.keys(res)[0] == name) {
+        return res['rowspan']
+      } else {
+        return 1
+      }
+    },
+    setDownLoadFile(res) {
+      const downloadLink = document.createElement('a');
+      downloadLink.href = res
+      document.body.appendChild(downloadLink);
+      downloadLink.click();
+      document.body.removeChild(downloadLink);
+
+    },
     setRagMoreList(res) {
       if (this.isDisabled) {
         this.isDisabled = false;
@@ -143,9 +192,8 @@
         }, 500);
         setTimeout(() => {
           this.isDisabled = false;
-        }, 3000)
+        }, 3000);
       }
-
     },
     setFileChange(res) {
       if (res == "testUrl") return;
@@ -272,11 +320,47 @@
   vertical-align: bottom;
   display: inline-block;
 }
+
+.contTable {
+  border: 1px solid white;
+  font-family: "Arial", sans-serif !important;
+}
+
+.contTable th {
+  border: 1px solid white;
+  padding: 10px;
+  text-align: center;
+  font-size: 16px;
+}
+
+.contTable td {
+  border: 1px solid white;
+  padding: 10px;
+  text-align: center;
+  font-size: 14px;
+}
 </style>
 <style scoped>
 .webBody {
   display: flex;
   justify-content: center;
+}
+
+/deep/.el-select:hover .el-input__inner {
+  background-color: rgba(255, 255, 255, 0.1) !important;
+  color: #ffffff !important;
+}
+
+/deep/ .el-input__inner {
+  background-color: rgba(255, 255, 255, 0.1) !important;
+  padding: 0 10px !important;
+  color: #ffffff !important;
+
+}
+
+/deep/.el-input--small .el-input__inner {
+  height: 30px;
+  font-size: 12px;
 }
 
 .webmainBox {
@@ -294,7 +378,6 @@
   /* padding-left: 60px; */
   min-height: 68px;
   text-align: left;
-
 }
 
 .web__main-user,
@@ -308,7 +391,6 @@
   padding: 10px !important;
   border-radius: 10px !important;
   margin-top: 10px;
-
 }
 
 .web__main-user {
@@ -385,8 +467,8 @@
   text-align: left;
   font-style: normal;
   width: 100%;
-  display: flex;
-  justify-content: space-between;
+  /* display: flex; */
+  /* justify-content: space-between; */
 }
 
 .web__main-arrow {
@@ -486,15 +568,40 @@
 
 .setRagMore {
   margin-left: 10px;
-
 }
 
 .setRagMore:hover {
-  color: #409EFF;
-
+  color: #409eff;
 }
 </style>
 <style>
+.el-select-dropdown {
+  background-color: #555555 !important;
+  color: #409eff !important;
+
+}
+
+.el-select-dropdown__item {
+  color: #ffffff !important;
+  background: transparent !important;
+}
+
+.el-select-dropdown__item.selected {
+  color: #409eff !important;
+  background: transparent !important;
+}
+
+.el-select-dropdown__item.selected span {
+  color: #409eff !important;
+  background: transparent !important;
+
+}
+
+.el-select-dropdown__item:hover {
+  /* background-color: #555555 !important; */
+  color: #409eff !important;
+}
+
 .parentBox {
   height: 100%;
   /* background: rgb(31, 31, 31); */
@@ -568,14 +675,58 @@
   font-weight: 400;
   font-size: 14px;
 
-  line-height: 20px;
   text-align: left;
   font-style: normal;
   white-space: pre-wrap;
   word-wrap: break-word;
+}
+
+.JsonHtml table {
+  border: 1px solid white;
+  text-align: center;
+  line-height: 30px;
+  font-family: "Arial", sans-serif;
+  font-size: 16px;
+}
+
+.JsonHtml tr {
+  border: 1px solid white;
+
+}
+
+.JsonHtml th {
+  border: 1px solid white;
+  padding: 10px 10px;
+}
+
+.JsonHtml td {
+  border: 1px solid white;
+  padding: 10px 10px;
+
+}
 
 
 
+.newConcentLeft table {
+  border: 1px solid white;
+  text-align: center;
+  line-height: 30px;
+  font-family: "Arial", sans-serif;
+  font-size: 16px;
+}
+
+.newConcentLeft tr {
+  border: 1px solid white;
+
+}
+
+.newConcentLeft th {
+  border: 1px solid white;
+
+}
+
+.newConcentLeft td {
+  border: 1px solid white;
 
 }
 
@@ -590,35 +741,57 @@
 .newConcentLeft pre {
   white-space: normal;
 }
+
+.newConcentLeft li {
+
+  font-size: 15px !important;
+  line-height: 15px !important;
+  list-style: disc;
+}
+
+.newConcentLeft p {
+  font-size: 15px !important;
+  /*  */
+}
+.newConcentLeft h1 {
+  font-size: 2rem !important;
+  padding: 20px 0px;
+  border-bottom: 1px solid rgba(209, 209, 209, 0.0);
+}
+.newConcentLeft h2 {
+  padding:30px 0px;
+  line-height: 0px;
+  border-bottom: 1px solid rgba(209, 209, 209, 0.0);
+  /*  */
+}
 </style>
 
-
 <style>
-.web_Main_markDown h1 {
-  line-height: 30px !important;
+/* .web_Main_markDown h1 {
+  line-height: 20px !important;
   font-size: 20px !important;
 }
 
 .web_Main_markDown h2 {
-  line-height: 25px !important;
+  line-height: 20px !important;
   font-size: 18px !important;
   margin-left: 10px;
 }
 
 .web_Main_markDown h3 {
-  line-height: 25px !important;
+  line-height: 20px !important;
   font-size: 18px !important;
   margin-left: 10px;
 }
 
 .web_Main_markDown li {
-  line-height: 20px !important;
+  line-height: 15px !important;
   font-size: 16px !important;
   margin-left: 20px;
 }
 
 .web_Main_markDown p {
-  line-height: 20px !important;
+  line-height: 15px !important;
   font-size: 16px !important;
   margin-left: 20px;
 }
@@ -627,5 +800,5 @@
   background: #555555;
   padding: 10px;
   border-radius: 10px;
-}
-</style>
\ No newline at end of file
+} */
+</style>

--
Gitblit v1.9.3