From 3a022dc2caa78267a681824ea1c303f140cd6797 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期五, 02 八月 2024 19:57:45 +0800
Subject: [PATCH] 智能体管理的页面开发和功能开发

---
 src/views/session/sessionManager/components/addSession.vue |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/src/views/session/sessionManager/components/addSession.vue b/src/views/session/sessionManager/components/addSession.vue
index 0a1c997..37ebde1 100644
--- a/src/views/session/sessionManager/components/addSession.vue
+++ b/src/views/session/sessionManager/components/addSession.vue
@@ -1,34 +1,75 @@
 <script setup lang="ts">
-    import { defineProps ,ref,defineEmits} from 'vue';
+    import { defineProps,ref,defineEmits, onMounted } from 'vue';
     import { Message } from '@arco-design/web-vue';
-    import { addSessionApi }from '@/api/session';
+    import { addSessionApi ,getDialogListApi }from '@/api/session';
     const props=defineProps({
         modalObj:Object
     });
-    const conversation_name=ref('');
+    const conversation=ref({ dialog_id:'', conversation_desc:'' });
+    const dialogList=ref([]);
     const emit = defineEmits(['addSession']);
-    const handleOk=async ()=>{
-        if(conversation_name.value){
-            const {code}=await addSessionApi({conversation_name:conversation_name.value});
-            if(code===200){
-                Message.success('娣诲姞鎴愬姛');
-                emit('addSession')
-            }
-        }else{
-            Message.warning('浼氳瘽鍚嶇О涓嶈兘涓虹┖');
-        }
+    const queryDialogList=async ()=>{
+      const { code, data } = await getDialogListApi();
+      if(code===200){
+        dialogList.value = data;
+      }
+    };
+
+   const  rules = {
+     dialog_id: [
+       {
+         required: true,
+         message: '鏅鸿兘鍔╂墜涓嶈兘涓虹┖',
+       },
+     ],
+     conversation_desc: [
+       {
+         required: true,
+         message: '鎻忚堪涓嶈兘涓虹┖',
+       }
+     ]
+   }
+    onMounted(()=>{
+      queryDialogList();
+    });
+    const formRef = ref();
+    const handleOk=()=>{
+      formRef.value.validate().then(async(res)=>{
+        if(!res){
+           const { code }=await addSessionApi({ ...conversation.value });
+           if(code===200){
+             Message.success('娣诲姞鎴愬姛');
+             emit('addSession');
+             setTimeout(()=>{
+               props.modalObj.add=false;
+             },500);
+           }else{
+             Message.warning('娣诲姞澶辫触');
+           }
+         }
+      });
+
+      return false;
+    }
+    const destroyData = ()=>{
+      formRef.value.resetFields();
     }
 </script>
 
 <template>
     <div>
-        <a-modal v-model:visible="modalObj.add" @ok="handleOk" @cancel="modalObj.add=false">
+        <a-modal v-model:visible="modalObj.add" @before-ok="handleOk" @cancel="modalObj.add=false"  @before-close="destroyData">
             <template #title>
                 鏂板浼氳瘽
             </template>
-            <a-form>
-                <a-form-item label="浼氳瘽鍚嶇О:">
-                    <a-input placeholder="璇疯緭鍏ヤ細璇濆悕绉�" v-model="conversation_name" style="width: 80%"></a-input>
+            <a-form ref="formRef" :model="conversation" :rules="rules">
+                <a-form-item label="鍔╂墜鍏宠仈:" field="dialog_id" @submit="handleSubmit">
+                    <a-select style="width: 80%" v-model="conversation.dialog_id" placeholder="璇烽�夋嫨鍏宠仈鍔╂墜">
+                        <a-option v-for="dialog in dialogList" :key="dialog.id" :value="dialog.id">{{dialog.name}}</a-option>
+                    </a-select>
+                </a-form-item>
+                <a-form-item label="鎻忚堪:" field="conversation_desc">
+                    <a-textarea placeholder="璇疯緭鍏ユ弿杩�" :max-length="100" show-word-limit   :auto-size="{minRows:4,maxRows:5}" v-model="conversation.conversation_desc" style="width: 80%"></a-textarea>
                 </a-form-item>
             </a-form>
         </a-modal>

--
Gitblit v1.8.0