charles
2024-08-02 78e1cda41cf6ad133e84efc78da50d77f2e43eca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<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;
      }
    };
 
   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" @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>