From e4dbf13e917784f0e690709e2dd405e7475a86a1 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 16 八月 2024 12:08:07 +0800
Subject: [PATCH] 新版UI对话页面开发

---
 src/views/sessionManager/components/smartAi.vue        |  127 +++++++++++++++++++------------
 src/views/sessionManager/components/agentSession.vue   |   18 +++
 src/views/sessionManager/index.vue                     |   64 +--------------
 src/views/sessionManager/components/historySession.vue |   11 +-
 src/assets/images/square_banner.png                    |    0 
 5 files changed, 104 insertions(+), 116 deletions(-)

diff --git a/src/assets/images/square_banner.png b/src/assets/images/square_banner.png
new file mode 100644
index 0000000..abd206e
--- /dev/null
+++ b/src/assets/images/square_banner.png
Binary files differ
diff --git a/src/views/sessionManager/components/agentSession.vue b/src/views/sessionManager/components/agentSession.vue
index 5018c67..54e2ddc 100644
--- a/src/views/sessionManager/components/agentSession.vue
+++ b/src/views/sessionManager/components/agentSession.vue
@@ -105,6 +105,7 @@
 import { getAuthorization } from "@/utils/auth";
 import { EventSourceParserStream } from 'eventsource-parser/stream';
 import { agentResetApi, agentSetApi, getAgentSessionDetailsApi } from "@/api/agentSession";
+import EventBus from '@/utils/EventBus';
 const props = defineProps({
   modalObj: Object,
 });
@@ -145,6 +146,15 @@
   agentCompletion();
   queryAgentSessionDetail(agentObj.id);
 };
+
+const createNewAgent = async (session) => {
+  Object.assign(agentObj, session);
+  initPage();
+
+
+}
+
+
 
 // 璋冪敤set鏂规硶
 const agentSet = async () => {
@@ -354,16 +364,18 @@
 
 
 onMounted(() => {
-
+  EventBus.on('createAgent', (data) => {
+    createNewAgent(data);
+  });
 });
 
 watch(
   () => props.modalObj,
   (newVal, oldVal) => {
-    Object.assign(agentObj, newVal);
+    // Object.assign(agentObj, newVal);
     //璋冪敤agent鍒濆鍖栨柟娉�
     if(JSON.stringify(newVal) != '{}'){
-      initPage();
+      // initPage();
     }
   },{
     immediate: true,
diff --git a/src/views/sessionManager/components/historySession.vue b/src/views/sessionManager/components/historySession.vue
index c355dce..63ed439 100644
--- a/src/views/sessionManager/components/historySession.vue
+++ b/src/views/sessionManager/components/historySession.vue
@@ -221,19 +221,20 @@
         display: flex;
         width: 70%;
         margin-left: 15%;
-        //border: 1px solid var(--color-text-4);
+        //border: 1px solid var(--color-neutral-3);
         padding: 16px;
         border-radius: 12px;
-        background: var(--color-bg-2);
+        background: var(--color-bg-1);
         margin-top: 10px;
         cursor: pointer;
         justify-content: space-between;
         align-items: center;
+        color: var(--color-text-2);
       }
       .historyCenter-box:hover{
-        color: #2a2a2b;
-        border: 1px solid var(--color-neutral-3);
-        //background: #e8e8ea;
+        color: var(--color-text-2);
+        //border: 1px solid var(--color-neutral-3);
+        background: var(--color-bg-3);
         box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
       }
     }
diff --git a/src/views/sessionManager/components/smartAi.vue b/src/views/sessionManager/components/smartAi.vue
index 26b3555..e74e9c3 100644
--- a/src/views/sessionManager/components/smartAi.vue
+++ b/src/views/sessionManager/components/smartAi.vue
@@ -1,31 +1,44 @@
 <template>
-  <div class="layoutHisCenter">
+  <div class="layoutAgentCenter">
               <a-scrollbar
-                class="left-list"
                 style="
                   height: calc(100vh - 100px);
                   overflow-y: auto;
                   overflow-x: hidden;
                 "
               >
-                <div class="historyCenter">
-                  <div
-                    class="item historyCenter-box"
-                    v-for="item in dialogs"
-                    @click="querySessionDetail(item)"
-                  >
-                    <div class="text" >
-                      <img
-                        :style="{ width: '16px' }"
-                        alt="dessert"
-                        :src="item.avatar || imgSrc"
-                      />
-                      {{ item.name }}
-                    </div>
-                    <div class="time"
-                    >
-                    </div>
-                  </div>
+                <div class="search">
+                  <!--                  鏌ヨ妗�-->
+                  <img src="@/assets/images/square_banner.png"
+                       style="width: 100%"
+                       alt="">
+
+                </div>
+                <div class="agentMainCenter">
+                  <a-row class="agentCenter">
+                    <a-col :span="8" v-for="item in dialogs">
+                      <div
+                        class="item agentCenter-box"
+                        @click="createNewSession(item)"
+                      >
+                        <div class="text" >
+                          <a-avatar>
+                            <img
+                              :style="{ width: '100%' }"
+                              alt="dessert"
+                              :src="item.avatar || imgSrc"
+                            />
+                          </a-avatar>
+                          <span style="margin-left: 10px;font-weight: 500;color: var(--color-text-1)">
+                            {{ item.name }}
+                          </span>
+                        </div>
+                        <div class="time"
+                        >
+                        </div>
+                      </div>
+                    </a-col>
+                  </a-row>
                 </div>
               </a-scrollbar>
   </div>
@@ -50,7 +63,7 @@
   sessionListApi
 } from "@/api/session";
 import { queryCanvasList } from "@/api/Agent";
-const emit = defineEmits(["querySessionDetail","changeAgentType"]);
+const emit = defineEmits(["querySessionDetail","changeAgentType","createSession"]);
 import logo from "@/assets/images/model.png";
 const sessionList = ref([]); //浼氳瘽鍒楄〃
 const activeSessionId = ref("");
@@ -115,11 +128,22 @@
   }
 };
 
-
-const querySessionDetail = async (session) => {
+const createNewSession = async (session) => {
   console.log(session, 'session');
-  emit('changeAgentType','1');
-  emit('querySessionDetail',session);
+  // 鏌ヨ鍘嗗彶璁板綍
+  // emit('querySessionDetail',session);
+  if (session.type == '1') {
+    // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇�
+    emit('createSession',session.id);
+    emit('changeAgentType','1');
+  } else {
+    // 鐢熸垚agent鏂扮殑瀵硅瘽
+    EventBus.emit("createAgent",session);
+    emit('changeAgentType','2');
+  }
+
+
+
 }
 onBeforeMount(()=>{
   DialogList()
@@ -128,7 +152,7 @@
 onMounted(() => {
   EventBus.on("smartAi", () => {
     emit('changeAgentType','4');
-    DialogList()
+    DialogList();
   });
 })
 onBeforeUnmount(() => {
@@ -138,13 +162,13 @@
 
 </script>
 <style scoped lang="less">
-  .layoutHisCenter{
+  .layoutAgentCenter{
     width: 100%;
     //background: #999999;
     position: absolute;
     left: 0;
     top: 0;
-    .historyTitle___F_iam {
+    .agentTitle___F_iam {
       font-size: 36px;
       line-height: 50px;
       font-weight: 700;
@@ -167,27 +191,32 @@
         }
       }
     }
-    .historyCenter{
-      width: 100%;
-      margin-top: 30px;
-      .historyCenter-box{
-        display: flex;
-        width: 70%;
-        margin-left: 15%;
-        //border: 1px solid var(--color-text-4);
-        padding: 16px;
-        border-radius: 12px;
-        background: var(--color-bg-2);
-        margin-top: 10px;
-        cursor: pointer;
-        justify-content: space-between;
-        align-items: center;
-      }
-      .historyCenter-box:hover{
-        color: #2a2a2b;
-        border: 1px solid var(--color-neutral-3);
-        //background: #e8e8ea;
-        box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
+    .agentMainCenter{
+      width: 70%;
+      margin: 0 auto;
+      .agentCenter{
+        width: 100%;
+        margin-top: 30px;
+        .agentCenter-box{
+          display: flex;
+          width: 90%;
+          margin: 0 auto;
+          //border: 1px solid var(--color-neutral-3);
+          padding: 16px;
+          border-radius: 12px;
+          background: var(--color-bg-1);
+          margin-top: 10px;
+          cursor: pointer;
+          justify-content: space-between;
+          align-items: center;
+          color: var(--color-text-2);
+        }
+        .agentCenter-box:hover{
+          color: var(--color-text-2);
+          //border: 1px solid var(--color-neutral-3);
+          background: var(--color-bg-3);
+          box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
+        }
       }
     }
 
diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue
index b50777e..83ce44b 100644
--- a/src/views/sessionManager/index.vue
+++ b/src/views/sessionManager/index.vue
@@ -7,62 +7,6 @@
 <!--    ></AddSession>-->
     <!--    <a-card class="top-title">AI浼氳瘽璁板綍</a-card>-->
     <a-row :gutter="[5, 5]" style="margin-top: 3px;">
-      <!--      <a-col :span="6">-->
-      <!--        <a-card class="left-select">-->
-      <!--          <a-select-->
-      <!--            v-model="selectValue"-->
-      <!--            :options="dialogs"-->
-      <!--            :field-names="fieldNames"-->
-      <!--            @change="dialogChange"-->
-      <!--          >-->
-      <!--          </a-select>-->
-      <!--        </a-card>-->
-      <!--        <a-card style="height: 50px">-->
-      <!--          <template #cover>-->
-      <!--            <div style="display: flex; justify-content: space-between">-->
-      <!--              <a-button-->
-      <!--                type="primary"-->
-      <!--                shape="round"-->
-      <!--                class="card-btn-1"-->
-      <!--                @click="modalObj.add = true"-->
-      <!--              >-->
-      <!--                +鏂板缓浼氳瘽-->
-      <!--              </a-button>-->
-      <!--              &lt;!&ndash; <a-button type="text" shape="circle" class="card-btn-2">-->
-      <!--                <icon-search />-->
-      <!--              </a-button> &ndash;&gt;-->
-      <!--            </div>-->
-      <!--          </template>-->
-      <!--        </a-card>-->
-      <!--        <a-card class="left">-->
-      <!--          <a-scrollbar-->
-      <!--            class="left-list"-->
-      <!--            style="-->
-      <!--              height: calc(100vh - 350px);-->
-      <!--              overflow-y: auto;-->
-      <!--              overflow-x: hidden;-->
-      <!--            "-->
-      <!--          >-->
-      <!--            <div-->
-      <!--              class="item left-list-item"-->
-      <!--              v-for="session in sessionList"-->
-      <!--              @click="querySessionDetail(session)"-->
-      <!--              :class="{ isLeftActive: activeSessionId === session.id }"-->
-      <!--            >-->
-      <!--              <div class="text" :class="{ time: theme === 'dark' }"-->
-      <!--                >{{ session.name }}-->
-      <!--              </div>-->
-      <!--              <div class="time"-->
-      <!--                >{{-->
-      <!--                  moment(new Date(session.create_time)).format(-->
-      <!--                    'YYYY-MM-DD HH:mm:ss'-->
-      <!--                  )-->
-      <!--                }}-->
-      <!--              </div>-->
-      <!--            </div>-->
-      <!--          </a-scrollbar>-->
-      <!--        </a-card>-->
-      <!--      </a-col>-->
       <a-col :span="1">
         <chatMenu></chatMenu>
       </a-col>
@@ -197,7 +141,7 @@
       </a-col>
       <a-col :span="23" v-show="agentType == '4'">
         <div class="center" style="padding: 0">
-          <smartAi @querySessionDetail="querySessionDetail" @changeAgentType="changeAgentType"></smartAi>
+          <smartAi @createSession="createSession" @createAgent="createAgent" @querySessionDetail="querySessionDetail" @changeAgentType="changeAgentType"></smartAi>
         </div>
       </a-col>
     </a-row>
@@ -496,12 +440,14 @@
   querySessionList();
 };
 onBeforeMount(() => {
-  DialogList();
+  // DialogList();
+  //鏂板缓浼氳瘽
+  createSession('');
 });
 onMounted(() => {
   EventBus.on("newChat", () => {
     agentType.value = 1;
-    createSession(dialogs.value[0].id);
+    createSession('');
   });
 });
 onBeforeUnmount(() => {

--
Gitblit v1.8.0