sunxiao 5 месяцев назад
Родитель
Сommit
f55b22cc41

+ 2 - 2
.env.development

@@ -1,5 +1,5 @@
 # 请求地址
-# VITE_BASE_URL=http://10.0.0.28:8080
-VITE_BASE_URL=http://192.168.9.54:8080
+VITE_BASE_URL=http://10.0.0.28:8080
+# VITE_BASE_URL=http://192.168.9.54:8080
 # 请求前缀
 VITE_BASE_PREFIX='' 

+ 1 - 0
components.d.ts

@@ -30,6 +30,7 @@ declare module 'vue' {
     RouterLink: typeof import('vue-router')['RouterLink']
     RouterView: typeof import('vue-router')['RouterView']
     SvgIcon: typeof import('./src/components/SvgIcon/index.vue')['default']
+    TheArchival: typeof import('./src/components/Layout/TheArchival.vue')['default']
     TheChatView: typeof import('./src/components/Layout/TheChatView.vue')['default']
     TheControlView: typeof import('./src/components/Layout/TheControlView.vue')['default']
     TheLogo: typeof import('./src/components/Layout/TheLogo.vue')['default']

+ 9 - 3
src/components/Chat/ChatAgentInput.vue

@@ -5,6 +5,7 @@ import { useUserStore } from '@/stores/modules/userStore';
 import { baseURL } from '@/utils/request';
 import { getFormatYesterDay } from '@/utils/format';
 import { helperApi } from '@/api/helper';
+import { TheArchival } from "@/components"
 import SvgIcon from '@/components/SvgIcon';
 
 import 'load-awesome/css/ball-running-dots.min.css';
@@ -380,9 +381,14 @@ defineExpose({
             </div>
           </div>
         </div>
-        <div class="switch-inner pt-[8px] space-x-[6px]">
-          <NSwitch size="small" v-model:value="switchStatus"></NSwitch>
-          <span class="text-[12px] text-[#9E9E9E]">使用搜索增强</span>
+        <div class="switch-inner pt-[8px] flex justify-between items-center">
+          <div class="space-x-[6px]">
+            <NSwitch size="small" v-model:value="switchStatus"></NSwitch>
+            <span class="text-[12px] text-[#9E9E9E]">使用搜索增强</span>
+          </div>
+          <div>
+            <TheArchival></TheArchival>
+          </div>
         </div>
         <div class="masking-inner text-center text-[#2454FF]"></div>
       </div>

+ 47 - 0
src/components/Layout/TheArchival.vue

@@ -0,0 +1,47 @@
+<script setup>
+import { NPopover } from 'naive-ui';
+
+
+</script>
+
+<template >
+  <div class="flex space-x-[20px] text-[12px] text-[#9E9E9E]">
+    <div>
+      以上内容均由LibraAI生成,仅供参考 
+    </div>
+    <n-popover trigger="hover">
+      <template #trigger>
+        <div class="archival flex items-center">
+          <span>备案信息</span>
+        </div>
+      </template>
+      <ul class="text-[#606266]">
+        <li>
+          <span class="inline-block w-[60px]">网信算备</span>
+          <span>110188164437号</span>
+        </li>
+        <li>
+          <span class="inline-block w-[60px]">京ICP备</span>
+          <span>2021020520号-1</span>
+        </li>
+        <li>beijing-libraai-2024</li>
+      </ul>
+    </n-popover>
+  </div>
+</template>
+
+<style lang="scss" scoped>
+  .archival {
+    cursor: pointer;
+    &::after {
+      content: " ";
+      display: block;
+      width:0;
+      height:0;
+      margin-left: 3px;
+      border-right:4px solid transparent;
+      border-left:4px solid transparent;
+      border-bottom:4px solid #b0b7c0;
+    }
+  }
+</style>

+ 2 - 0
src/components/index.js

@@ -10,6 +10,7 @@ import TheLogo from './Layout/TheLogo';
 import TheMenu from './Layout/TheMenu';
 import ThePublicLayout from './Layout/ThePublicLayout';
 import TheSubMenu from './Layout/TheSubMenu';
+import TheArchival from './Layout/TheArchival';
 
 import RecodeCardItem from './RecodeCardItem';
 import RecodeSquareCardItem from './RecodeSquareCardItem';
@@ -42,6 +43,7 @@ export {
   TheMenu,
   ThePublicLayout,
   TheSubMenu,
+  TheArchival,
 
   RecodeCardItem,
   RecodeSquareCardItem,

+ 13 - 1
src/views/login/LoginView.vue

@@ -5,6 +5,7 @@ import { NButton } from 'naive-ui';
 import { SvgIcon } from '@/components';
 import { useUserStore } from '@/stores/modules/userStore';
 import { userApi } from '@/api/user';
+import { TheArchival } from "@/components"
 
 const router = useRouter();
 const userStore = useUserStore();
@@ -64,7 +65,7 @@ const handleSubmit = async () => {
           为水务行业主体提供创新应用和全面支持
         </p>
       </div>
-
+      
       <div class="login-form w-[442px] h-[454px] bg-white rounded-[16px]">
         <p class="title pl-[2px] mb-[30px] text-[28px] leading-[40px] font-bold">系统登录</p>
         <div class="form-inner w-full">
@@ -84,6 +85,7 @@ const handleSubmit = async () => {
           </div>
         </div>
         <NButton block color="#2454FF" size="large" :loading="loading" @click="handleSubmit">登 录</NButton>
+        <TheArchival class="info"></TheArchival>
       </div>
     </main>
   </div>
@@ -126,8 +128,18 @@ const handleSubmit = async () => {
   }
 
   .login-form {
+    position: relative;
     @include flex(y, start, between);
     padding: 63px 61px 66px 61px;
+    
+    .info {
+      position: absolute;
+      left: 50%;
+      bottom: -60px;
+      text-align: center;
+      white-space: nowrap;
+      transform: translateX(-50%);
+    }
 
     .title {
       background: url("@/assets/images/login/bg-title.png") left bottom no-repeat;