|  |  | 
 |  |  | <script setup lang="ts"> | 
 |  |  |     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; | 
 |  |  |   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('添加失败'); | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |    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(); | 
 |  |  |     } | 
 |  |  |     return false; | 
 |  |  |   }; | 
 |  |  |   const destroyData = () => { | 
 |  |  |     formRef.value.resetFields(); | 
 |  |  |   }; | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <template> | 
 |  |  |     <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> | 
 |  |  |   <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> |