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