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