|  |  | 
 |  |  | <script setup lang="ts"> | 
 |  |  |     import { defineProps ,ref,defineEmits} from 'vue'; | 
 |  |  |     import { Message } from '@arco-design/web-vue'; | 
 |  |  |     import { addSessionApi }from '@/api/session'; | 
 |  |  |     const props=defineProps({ | 
 |  |  |         modalObj:Object | 
 |  |  |     }); | 
 |  |  |     const conversation_name=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('会话名称不能为空'); | 
 |  |  |         } | 
 |  |  |   import { defineProps, ref, defineEmits, onMounted } from 'vue'; | 
 |  |  |   import { Message } from '@arco-design/web-vue'; | 
 |  |  |   import { addSessionApi, getDialogListApi } from '@/api/session'; | 
 |  |  |   const props = defineProps({ | 
 |  |  |     modalObj: Object, | 
 |  |  |   }); | 
 |  |  |   const conversation = ref({ dialog_id: '', conversation_desc: '' }); | 
 |  |  |   const dialogList = ref([]); | 
 |  |  |   const emit = defineEmits(['addSession']); | 
 |  |  |   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"> | 
 |  |  |             <template #title> | 
 |  |  |                 新增会话 | 
 |  |  |             </template> | 
 |  |  |             <a-form> | 
 |  |  |                 <a-form-item label="会话名称:"> | 
 |  |  |                     <a-input placeholder="请输入会话名称" v-model="conversation_name" style="width: 80%"></a-input> | 
 |  |  |                 </a-form-item> | 
 |  |  |             </a-form> | 
 |  |  |         </a-modal> | 
 |  |  |     </div> | 
 |  |  |   <div> | 
 |  |  |     <a-modal | 
 |  |  |       v-model:visible="modalObj.add" | 
 |  |  |       @before-ok="handleOk" | 
 |  |  |       @cancel="modalObj.add = false" | 
 |  |  |       @before-close="destroyData" | 
 |  |  |     > | 
 |  |  |       <template #title> 新增会话 </template> | 
 |  |  |       <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> | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <style scoped lang="scss"> | 
 |  |  |  | 
 |  |  | </style> | 
 |  |  | <style scoped lang="scss"></style> |